Linx 基本命令

1. linux ls命令(list):显示当前目录下的文件

 [root@localhost ~]#ls [选项][文件名或目录名]

-a:显示所有文件;
–color=when:支持颜色输出,when 的值默认是 always(总显示颜色),也可以是 never(从不显示颜色)和 auto(自动);
-l:长格式显示,显示文件的详细信息,这个命令会显示目录下的内容,而不会显示这个目录本身的详细信息。如果想显示目录本身的信息,就必须加入"-d"选项。
[root@localhost ~]# ls -ld;(l和d要一起使用,不能单独使用d)
-d:显示目录信息,而不是目录下的文件;
-h:人性化显示,按照我们习惯的单位显示文件大小;
-i:显示文件的 i 节点号;

2. linux cd命令(change directory):切换目录

[root@localhost ~]#cd [目录名]
【例 1】基本用法

cd 命令切换目录只需在命令后加目录名称即可。例如:

[root@localhost ~]# cd /usr/local/src/
[root@localhost src]#
#进入/usr/local/src/ 目录
【例 2】简化用法

cd 命令可以识别一些特殊符号,用于决速切换所在目录,这些符号如表 1 所示。
表 1 cd 命令的特殊符号

特殊符号作 用
~代表用户的家目录
-代表上次所在目录
.代表当前目录
代表上级目录
[root@localhost local]# pwd
/usr/local

#pwd是査看当前所在目录的命令,可以看到我们进入了目录 /usr/local/。

3. Linux mkdir命令(make directories):创建目录(文件夹)

【例 1】建立目录。
[root@localhost ~]#mkdir cangls
[root@localhost ~]#ls
anaconda-ks.cfg cangls install.log install.log.syslog
【例 2】递归建立目录。

mkdir 默认只能在已经存在的目录中建立新目录
如果需要建立一系列的新目录,则需要加入选项,递归建立才可以。例如:

[root@localhost ~]# mkdir -p lm/movie/jp/cangls
[root@localhost ~]# ls
anaconda-ks.cfg cangls install.log install.log.syslog lm
[root@localhost ~]# ls lm/ (查看lm目录下的内容)
movie

这里只査看一级子目录,其实后续的jp目录、cangls目录都已经建立

4. Linux rmdir命令:(remove empty directories)删除空目录

[root@localhost -]# rmdir [选项]目录名

选项:-p: 递归刪除目录
但 rmdir 命令的作用十分有限,因为只能刪除空目录,所以一旦目录中有内容,就会报错。

5. Linux touch命令:修改文件的时间戳

touch 的意思是触摸,如果文件不存在,则会建立空文件;如果文件已经存在,则会修改文件的时间戳(访问时间、数据修改时间、状态修改时间都会改变)。

  [root@localhost -]# touch [选项]文件名或目录名

选项:
-a:只修改文件的访问时间(Access Time)
-c:如果文件不存在,则不建立新文件
-d:把文件的时间改为指定的时间
-m:只修改文件的数据修改时间(Modify Time)

6. Linux stat命令:显示文件或文件系统的详细信息

在 Linux 中,文件有访问时间、数据修改时间、状态修改时间这三个时间,而没有创建时间。stat 是査看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。
[root@localhost ~]# stat [选项]文件名或目录名
选项:-f:査看文件所在的文件系统信息,而不是査看文件的信息。

【例 1】査看文件的详细信息。
[root@localhost ~]# stat anaconda-ks.cfg
【例 2】 査看文件系统信息。

如果使用"-f"选项,就不再是査看指定文件的信息,而是査看这个文件所在文件系统的信息,例如:

[root@localhost ~]#stat -f anaconda-ks.cfg

cat 命令读取一下这个文件,就会发现文件的访问时间 (Access Time) 变成了 cat 命令的执行时间;如果用 echo 命令向文件中写入点数据,那么文件的数据修改时间(Modify Time)就会发生改变。但是文件数据改变了,系统会认为文件的状态也会改变,所以状态修改时间(Change Time)也会随之改变

7. Linux cat命令(concatenate连接、连续):连接文件并打印输出到标准输出设备

[root@localhost ~]# cat [选项]文件名

选项:
-A:相当于 -vET 选项的整合,用于列出所有隐藏符号;
-E:列出每行结尾的回车符 $;
-n:显示行号;
-T:把 Tab 键 ^I 显示出来;
-V:列出特殊字符;

8. Linux more命令:分屏显示文件内容

如果文件过大,则 cat 命令会有心无力,这时 more 命令的作用更加明显。

[root@localhost ~]# more 文件名

more 命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常用的交互命令如下。
空格键:向下翻页。
b:向上翻页。
回车键:向下滚动一行。
/ 字符串:搜索指定的字符串。
q:退出。

9. Linux head命令:显示文件开头的内容

[root@localhost ~]# head [选项]文件名

选项:
==-n ==行数: 从文件头开始,显示指定行数;
-v:显示文件名;

[root@localhost ~]# head anaconda-ks.cfg

head 命令默认显示文件的开头 10 行内容。如果想显示指定的行数,则只需使用"-n"选项即可,例如:

[root@localhost ~]# head -n 20 anaconda-ks.cfg

这是显示文件的开头 20 行内容,也可以直接写"-行数",例如:

[root@localhost ~]# head -20 anaconda-ks.cfg

10. Linux tail命令:显示文件结尾的内容

[root@localhost ~]#tail [选项] 文件名

选项:
-n 行数:从文條尾开始,显示指定行数(和head一样使用)
-f:监听文件的新増内容

11. Linux ln命令:在文件之间建立链接(硬链接和软链接)详解版

[root@localhost ~]# ln [选项] 源文件 目标文件

选项:
-s:建立软链接文件。如果不加"-s"选项,则建立硬链接文件;
-f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;
注意,软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求);否则软链接文件会报错。
硬链接

[root@localhost ~]# touch test
#建立源文件
[root@localhost ~]# ln /root/test /tmp/test-hard
#给源文件建立硬链接文件 /tmp/test-hard
[root@localhost ~]# ll -i /root/test /tmp/test-hard
262147 -rw-r--r-- 2 root root 0 6月 19 10:06 /root/test
hard
262147 -rw-r--r-- 2 root root 0 6月 19 10:06 /tmp/test-hard
#查看两个文件的详细信息,可以发现这两个文件的 inode 号是一样的,"ll"等同于"ls -l"。

硬链接示意图
在这里插入图片描述
在 inode 信息中,是不会记录文件名称的,而是把文件名记录在上级目录的 block 中。也就是说,目录的 block 中记录的是这个目录下所有一级子文件和子目录的文件名及 inode 的对应;而文件的 block 中记录的才是文件实际的数据。
当我们查找一个文件,比如 /root/test 时,要经过以下步骤:
首先找到根目录的 inode(根目录的 inode 是系统已知的,inode 号是 2),然后判断用户是否有权限访问根目录的 block。
如果有权限,则可以在根目录的 block 中访问到 /root 的文件名及对应的 inode 号。
通过 /root/ 目录的 inode 号,可以查找到 /root/ 目录的 inode 信息,接着判断用户是否有权限访问 /root/ 目录的 block。
如果有权限,则可以从 /root/ 目录的 block 中读取到 test 文件的文件名及对应的 inode 号。
通过 test 文件的 inode 号,就可以找到 test 文件的 inode 信息,接着判断用户是否有权限访问 test 文件的 block。
如果有权限,则可以读取 block 中的数据,这样就完成了 /root/test 文件的读取与访问。

按照这个步骤,在给源文件 /root/test 建立了硬链接文件 /tmp/test-hard 之后,在 /root/ 目录和 /tmp/ 目录的 block 中就会建立 test 和 test-hard 的信息,这个信息主要就是文件名和对应的 inode 号。但是我们会发现 test 和 test-hard 的 inode 信息居然是一样的,那么,我们无论访问哪个文件,最终都会访问 inode 号是 262147 的文件信息。
软链接

[root@localhost ~]# touch check
#建立源文件
[root@localhost ~]# ln -s /root/check /tmp/check-soft
#建立软链接文件
[root@localhost ~]# ll -id /root/check /tmp/check-soft
262154 -rw-r--r-- 1 root root 0 6月 19 11:30 /root/check
917507 lrwxrwxrwx 1 root root 11 6月 19 11:31 /tmp/ check-soft -> /root/check

#软链接和源文件的 inode 号不一致,软链接通过 -> 明显地标识出源文件的位置
#在软链接的权限位 lrwxrwxrwx 中,l 就代表软链接文件

12. Linux rm命令:删除文件或目录

[root@localhost ~]# rm[选项] 文件或目录

选项:
-f:强制删除(force)
-i:交互删除,在删除之前会询问用户
-r:递归删除,可以删除目录(recursive)
-rf: 强制删除目录

13. Linux rm命令:删除文件或目录

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值