《Linux》day1--常见文件管理命令

文件路径

绝对路径:从根目录开始描述;例如:/home/acs/sun(其中第一个 / 表示根目录)
相对路径:从当前位置开始描述路径;例如:acs/sun(当前在home文件下)
. (一个点)表示当前路径
… (两个点)表示上一级路径
~/ 表示家目录,相当于 /home/acs/sun

常见文件命令

1.Ctrl + c

取消命令,并且换行

2.Ctrl + u

清空本行内容,不换行

3.table键

可以自动补全命令和文件名,如果补全不了,可以在按table键一次,会显示备选选项,补全命令按两次table他会给我们很多选项。
上方向键:可以回到上一个命令

4.ls

ls:列出当前位置下的所有文件,蓝色的是文件夹,绿色的是可执行文件,白色的是普通文件

参数:
-l:显示详细信息(缩写就是:ll),在Ubuntu系统下发现不了,我们可以在centos上使用which来查看:在这里插入图片描述
这个是在centos 7 上看的,alias就是起别名,下面还会详细的说明。–color=auto就是让普通文件、文件夹、可执行文件的颜色有区别。我们再在Ubuntu上看,可以看到没有显示:在这里插入图片描述
-al:查看文件详细信息,包括隐藏文件
-ld + 文件名:将目录像文件一样显示,而不是显示其下的文件。因为我们默认ls文件夹他会展示文件夹里面的文件内容,若我们ls -d -l,他会展示这个文件夹。
在这里插入图片描述
-h:人性化的显示详细信息
-hl:详细细节中的字节数可以带单位表示,以及修改时间
-a:显示所有的文件,包括隐藏的文件(所有的隐藏文件都是以 . 开头的)
-i:输出文件的 i节点的索引信息(windows下使用文件名+后缀名来标识的,而Linux时使用inode来标识的
-t:以修改时间排序
-R:列出所有子目录下的文件(递归形式)
ls / :查看根目录下的文件

在这里插入图片描述

5.pwd

显示当前所在的位置

在这里插入图片描述

6.cd + 路径

Linux系统中,磁盘上的文件和目录被组成一个目录树,每个节点都是目录或文件(一个节点最多只有一个父节点,而可以有多个子节点)
在这里插入图片描述

cd 默认返回家目录(cd ~进入家目录),cd…(两个点)返回上一级目录;cd - 返回上一个待过的目录;cd / 直接进入根目录
路径又分为绝对路径和相对路径:上面我们已经讲过了

在这里插入图片描述

7.cp 路径1 路径2

将路径1的内容复制拷贝到路径2中,并可以选择重命名
eg:
cp a/tmp.txt b(把文件a中的tmp.txt拷贝复制到文件b中)
cp a/tmp.txt b/tmp1.txt(把文件a中的tmp.txt拷贝复制并重命名为tmp1.txt到文件b中)
如果将复制文件夹的后面加 -r 表示复制的是一个文件夹
例如:cp a b -r(将文件夹a拷贝复制到文件夹b中)
他还有两个选项:
在这里插入图片描述

8.touch

表示创建一个普通文件
touch还有一个重要的性质:可以查看修改时间内容;用 stat命令查看修改的时间;其中:1.Access表示文件的读取;2.modify表示修改文件中的内容;3.change表示修改文件的属性(包括大小、名字等等,modify修改了,change肯定也会变),对于这个功能在后面会进行详细的讲解。

在这里插入图片描述

9.mkdir

创一个文件夹

mkdir a 表示创建一个文件夹a
eg:
mkdir /home/acs/sun/a
mkdir -p a/b/c 表示在文件夹a中创建一个文件夹b,然后再文件夹b中在创建一个文件夹c(连续叠加创建文件必须加上 -p)

10.rm

表示删除

rm **:删除某一文件
rm *** -r:删除某一文件夹(支持正则表达式)
eg:
rm tmp.txt tmp1.txt 删除tmp.txt和tmp1.txt
rm *.txt 删除所有txt文件
rm a/ * 删除文件夹a里面的 *文件
在这里插入图片描述

11.mv

剪贴 + 删帖 ;相当于我们拖拽一个文件到另一个文件夹中

mv a/tmp.txt b/ :将a中的tmp文件挪到b文件夹中
mv b/tmp.txt a/tmp1.txt :将b中的tmp文件挪到a文件夹中,并重命名
mv a/tmp1.txt tmp.txt :将tmp1重命名
-f:force为强制,如果目标文件已存在,不会询问而直接覆盖
-i:如果目标文件已存在,会询问是否覆盖
mv命令移动文件夹不需要带上 -r

12.history

显示历史用过的命令

13.cat

cat 查看普通文件

eg:
cat a/tmp.cpp :查看tmp.cpp文件
tac命令和cat命令的功能相似,不过是倒着(从下往上)打印的
选项如下:
-n:显示行号
-s:去掉多余的空行(例如有三个空行,最后只会打印一个空行)
-b:不会对空行进行行号编号
在这里插入图片描述

14.rm /* -rf(-r表示递归删除,-f表示强制删除)

删除所有文件

15.man指令

man + 命令:查找该命令是什么意思

16.date和cal

date:直接看Linux下的时间
date +%Y:%m:%d:看年月日
date +%Y:%m:%d-%H/%M/%S:看年月日时分秒
注意大小写
在这里插入图片描述
%F : 相当于 %Y-%m-%d
%X : 相当于 %H:%M:%S
在这里插入图片描述

date +%s:时间戳,从1970年1月1日开始所经过的秒数
在这里插入图片描述
时间戳转化为时间:date -d@1508749502或date +%Y:%m:&d-%H/%M/%S -d @(一个时间戳):就是现在的时间减去时间戳得到的时间
在这里插入图片描述
····················
cal 2022:查看2022年日历
cal -1:查看本月日历
cal -3:查看上个月、这个月和下个月的日历

17.top命令

类似于windows系统下的任务管理器

18.shutdown命令

一般服务器是不会进行关机操作的,若想要让服务器关机,命令:

-t sec:sec秒数后关机
-h:将系统的服务停掉后,立即关机
-r:将系统的服务停掉后,重新启动

19. which指令

which指令是帮我们查找一条命令所在的位置,例如:
在这里插入图片描述
我们可以发现我们一般的指令都是放在 /usr/bin 目录下面的!!!
在这里插入图片描述
我们可以看到这个目录下面放着非常多的命令。
==所谓的命令,就是Linux指定目录下(/usr/bin/)的可执行文件!!!==就是window系统下的.exe文件。

我来演示一遍,我写了一个文件test.cpp,内容如下:
在这里插入图片描述
使用g++编译成mycmd,现在他是一个可执行文件,
在这里插入图片描述
但是我发现我的文件并不能执行,其实在我们执行mycmd的时候,系统会自动查找这个命令,但是系统默认是在/usr/bin/目录下查找的,所以找不到!!! 如果我们把mycmd 移动到mv /usr/bin/ 目录下的话,就可以执行,(把我们的命令修改成了系统命令)但是我们写的命令没有啥意义,我们可以指定路径运行命令,示例:
在这里插入图片描述
总结:指令就是别人写好的可执行程序或者脚本,被放在了系统的特定路径下。所谓的安装软件,核心就是把目标软件拷贝到系统的指定路径下。

20.alias起别名

有时候命令比较长,我们就可以使用alias起别名,例如:
在这里插入图片描述
注意:下次重启服务器的时候,起别名就失效了。

21.输出重定向>

我们要讲一下在开发Linux的时候,有个很重要的概念就是一切皆文件,Linux把每个东西都看成一个文件,例如显示屏、键盘。我们默认echo是输出到显示屏上面的,现在我们可以输出重定向到指定到一个文件里面,例如:
在这里插入图片描述
在这里插入图片描述

22.输入重定向<

在这里插入图片描述
为了更好地说明Linux下的一切皆文件,我们举个最基本的例子,终端也是文件,现在我打开两个终端:
在这里插入图片描述
在这里插入图片描述
我想往另一台终端输出东西,但是操作被拒绝了。

23.more

之前谈过cat指令,是将文件里的内容打印到屏幕上的。接下来的包括more、less、head、tail都是这种操作。

对于小文件来件,cat完全够用,但是特别大的文件,cat打印出来的内容会很乱,这时候我们就需要用到more和less,less更常用。

比如说,现在我来查看系统中的一个日志文件,打印出来的内容会非常乱。
在这里插入图片描述
对于小文件而言,cat比较合适。而对于大文件就必须要使用后面的指令了。

more + 文件名,就可以将文件的内容打印到屏幕上,按enter键往下翻。但是无法上翻

-n:显示行号;q退出。不推荐使用more指令,更推荐使用less指令。

24.less

less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤。
less 的⽤法⽐起 more 更加的有弹性,在 more 的时候,我们并没有办法向前⾯翻, 只能往后⾯看。
但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂件,更容易⽤来查看⼀个⽂件的内容。
除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。
选项:
-i:忽略大小写
-N:显示行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前⼀个搜索(与 / 或 ? 有关)
N:反向重复前⼀个搜索(与 / 或 ? 有关)
q:quit
注意:对于上下的箭头,每次只翻阅一行,而对于pgup和pgdn是翻阅一页。

示例:现在我写一个大文件
在这里插入图片描述

25.head

head log.txt:默认帮我们打印十行的内容,
head -n log.txt:指定打印n行的内容(注意-n不可以放到后面)

26.tail

tail指令和head指令功能类似,只不过是从下往上打印的。

Q:tac命令不也可以实现这种功能吗?为什么还要tail指令?
A:首先tail指令比较优雅,其次最重要的一个点head和tail可以实现打印n-m,即n到m行的内容,例如[100, 150],100到150 行的内容。第一种我们可以通过head取出前100行的内容输出重定向一个文件中,然后在使用tail输出最后51行的内容即可。第二种方法是使用管道的命令,这种方式不需要创建临时文件。
在这里插入图片描述

27.find

which是用来查找指令所在的路径。(which+可执行程序)
find命令是在⽬录结构中搜索⽂件,并执⾏指定的操作。

【语法】find pathname -options
【功能】⽤于在⽂件树中查找⽂件,并作出相应的处理(可能访问磁盘)
-name 按照⽂件名查找⽂件,例如:
在这里插入图片描述

28.whereis

【功能】⽤于找到程序的源、⼆进制⽂件或⼿册,用的很少。
在这里插入图片描述

29.grep

【语法】grep [选项] 搜寻字符串 ⽂件
【功能】在⽂件中搜索字符串,将找到的⾏打印出来
【常见选项】
-i :忽略⼤⼩写的不同,所以⼤⼩写视为相同
-n :顺便输出⾏号
-v :反向选择,亦即显⽰出没有 ‘搜寻字符串’ 内容的那⼀⾏
在这里插入图片描述

30.top

top命令就类似于Windows下面的任务管理器,可以查看占用PID、CPU、内存等信息
-d:刷新的时间间隔
-n:刷新的次数,刷完n次就退出了。
在这里插入图片描述

31.zip/unzip

即打包压缩(本质上是打包和压缩两个步骤,但是现在都是连在一起了)和解压,把我们的文件数据进行归档,形成一个文件的过程,它是通过一系列的算法进行压缩文件的,例如,“哈夫曼树”就是一种压缩文件的数据结构。
Q:为什么我们要压缩文件呢?
A:一个是让我们网络发送比较方便,首先他把多文件压缩成一个文件,体积小,网络传送的速度快。第二个是节省电脑磁盘空间。
【语法】zip 压缩⽂件.zip ⽬录或⽂件
【功能】将⽬录或⽂件压缩成zip格式

例如:zip dec src 把src打包压缩成sec
在这里插入图片描述
默认都是在当前路径下进行的,当然我们也可以指定路径:
在这里插入图片描述
常用选项:-r:递归处理,将指定⽬录下的所有⽂件和⼦⽬录⼀并处理。
在这里插入图片描述
unzip也可以解包到指定目录下,使用-d选项,示例:
在这里插入图片描述
打包压缩场景:从云服务器上打包压缩文件传送到我的Windows电脑中去,需要我们在Linux下安装一个软件lrzsz。

sz(send)命令
在这里插入图片描述
选择桌面,桌面就会有对应的压缩包了:
在这里插入图片描述
同理,我们也可以将Windows下的压缩包传到Linux中去,rz命令(recesive)选择对应的压缩包就可以了。
在这里插入图片描述
同样的,Linux和Linux也可以相互传压缩包,但是我只有一台linux服务器。
使用scp ***.zip username@ip地址:指定目录下,对于scp,linux和Windows也是可以相互传的。

32.tar指令(常用)

【语法】tar 参数 dst src
在这里插入图片描述
参数:
-c :建⽴⼀个压缩⽂件的参数指令(create 的意思) -》打包功能
-z :是否同时具有 gzip 的属性?亦即是否需要⽤ gzip 压缩?-》压缩功能
-v :压缩的过程中显⽰⽂件!这个常⽤,但不建议⽤在背景执⾏过程!-》显示压缩的过程
-f :使⽤档名,请留意,在 f 之后要⽴即接档名喔!不要再加参数!-》后面紧跟的是压缩包的名字
-x :解开⼀个压缩⽂件的参数指令!-》解压

当然,我们在解压的时候,也可以解压到指定目录下,在指定的最后面加上指令-C:
-C : 解压到指定⽬录

33.bc指令

输入bc进去,输入quit退出或者ctrl+c。

bc命令可以很⽅便的进⾏浮点运算,其实就是个类似于计算器的东西。可以搭配管道进行使用,例如:
在这里插入图片描述
bc的标准输入是键盘文件。

34.uname 指令

【语法】uname [选项]
【功能】uname⽤来获取电脑和操作系统的相关信息。uname可显⽰linux主机所⽤的操作系统的版本、硬件的名称等基本信息。
-a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理
器类型,硬件平台类型,操作系统名称
在这里插入图片描述
前面的框是内核版本
使用 lsb_release -a 查看系统软件更详细的内容(查看操作系统版本)
在这里插入图片描述

补充热键

  1. 对于xshell来说,按住 alt+entre 可以全屏或退出全屏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值