linux常用命令

1、文件管理

<1>查看文件信息:ls

ls是list的简写,其功能为列出目录的内容,是最常用的命令之一,类似于dos下的dos

ls常用参数
快捷键 功能
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
linux常用命令_第1张图片
ls的使用

通配符

通配符 含义
* 文件代表文件名中所有的字符
ls te* 查找以te开头的文件
ls *html 查找结尾为html的文件
代表文件名中任意一个字符
ls ?.c 只找第一个字符任意,后缀为.c的文件
ls a.? 只找只有3个字符,前2个字符为a,最后一个字符任意的文件
[] 用[]将字符组括起来,表示可以匹配字符组中任意一个。"-"表示字符的范围
[abc] 匹配a、b、c中的任意一个
[a-f] 匹配a到f中范围内的任意一个字符
ls [a-f]* 查找a到f范围内的任意一个字符开头的文件
ls a-f 查找文件名为a-f的文件,当"-"处于方括号之外失去通配符的作用
\ 反斜杠表转义字符,"?"和"*"处于方括号内时不用使用转义字符也会失去通配符的作用
ls \*a 查找文件名为*a的文件

<2>输出重定向命令:>

用法:ls /bin >a.txt(如果a.txt存在则直接覆盖,如果不存在,则创建)

输出重定向

另外一个用法:ls >>b.txt(如果文件不存在则创建,如果文件存在则以追加的方式写入)


linux常用命令_第2张图片
追加方式写入

注意点:>输出重定向会覆盖原有文件内容,>>输出重定向会追加写入到文件的尾部


<3>分屏显示:more

用法类似cat,如:more 1.html
显示效果如下:

linux常用命令_第3张图片
more显示效果

此时使用more命令,每次只显示一页,按下空格键可以显示下一页,按q键退出,h键获得帮助。

平时我们使用cat命令较多一些,通常文件内容很少的时候使用cat命令,一次显示所有内容,当文件内容比较多的时候使用more命令


<4>管道:|

管道:一个命令的输出可以通过管道作为另一个命令的输入
用法:

python@ubuntu:/bin$ ls -lh | more

显示效果如下:


linux常用命令_第4张图片
管道用法显示效果

同样的,也是每次只显示一页,按下空格键可以显示下一页,按q键退出,h键获得帮助。


<5>清屏:clear

这个非常简单常用,不再介绍


<6>切换工作目录: cd

需要注意的地方:linux所有的目录和文件名对大小写敏感

命令 含义
cd 切换到当前目录的主目录(/home/用户目录),用户登陆的时候默认的目录就是用户的主目录,cd后边不加目录相当于cd ~命令
cd ~ 切换到当前用户的主目录(/home/当前用户目录)
cd . 切换到当前目录
cd .. 切换到当前目录的上级目录
cd - 切换到上次目录,同时显示跳转后所在的路径

注意点:如果路径是从根路径开始的,则路径的前面需要加上"/",如"/usr"
另外就是cd -命令跳转路径后会显示跳转之后的路径,相当于其他cd命令+pwd

<7>显示当前路径:pwd

非常简单常用的命令,不再介绍


<8>创建目录: mkdir

通过mkdir命令可以创建一个新的目录。参数-p可递归的创建目录。
注意:新创建的目录的名称不能与当前目录中的目录或文件同名,并且目录创建者必须对当前目录具有写权限。


linux常用命令_第5张图片
mkdir用法

<9>删除目录 :rmdir

可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,否则提示失败。这个命令几乎不用,可用rm命令加-r 参数实现


<10>删除文件: rm

可通过rm命令删除文件或目录。使用rm命令要小心,因为文件一旦删除不能恢复。为了防止文件误删除可加参数-i使用交互模式逐个确认要删除的文件。

参数 含义
-i 以交互方式进行,类似于windows中删除文件时弹出的提示
-f 强制删除,忽略不存在的文件,无需提示
-r 递归的删除目录下的内容,删除文件夹时必须使用这个参数,非常常用

<11>建立链接文件:ln

linux链接文件类似于windows下的快捷方式。
分为软连接和硬链接。
软连接:软链接不占用磁盘空间,源文件删除则软链接失效。
硬链接:硬链接只链接普通文件,不能链接目录。删除源文件,链接文件依然存在。
使用格式:

ln 源文件 链接文件/链接路径
ln -s 源文件 链接文件/链接路径

注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。

用法举例,配置某些文件的时候常常会用到软链接,如配置nginx,链接名为路径,并且创建的是硬链接具体用法请点击

另外需要联想下ls -lah命令显示内容中文件权限后边的数字为引用数,如引用为0则文件自动被删除,具体的机制以后再详细阐述。

ln命令需要注意的地方:需要区分链接名是链接文件还是链接的路径,如果链接的是文件名,那么这个文件名必须是不存在,链接之后自动创建该文件名并写入内容,如果存在则提示该文件已经存在无法创建。如果是链接名是路径,那么自动在该路径下创建与源文件的同名文件
链接的删除,建立软链接,删除源文件之后,链接文件无效;建立硬链接,删除源文件之后,链接文件依然存在并且内容依然与源文件一致
建立链接之后,修改任一文件内容另一文件同时被修改。更准确的说,物理内存保存的只有一个文件,通过文件名指向内存中保存的文件,软链接指向的是源文件的文件名,删除源文件只是删除的源文件名,链接文件找不到源文件名而失效,当内存中保存的文件的引用数为0时,则被删除。硬链接指向的是内存中所保存的文件,删除源文件,但链接文件依然指向的内存中所保存的文件,所以依然有效
通过下图可以更好的理解这一概念,其中源文件名为1.txt,文件的内容为haha,保存在内存中

linux常用命令_第6张图片
软链接与硬链接的区别在于指向不同

linux常用命令_第7张图片
ln命令举例

<12>查看或者合并文件内容:cat

linux常用命令_第8张图片
cat查看文件内容
linux常用命令_第9张图片
cat合并>>和>用法的区别

<13> 文本搜索:grep

linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式,grep打印包含模式的所有行。
用法:grep [-选项] "搜索的内容" 文件名
例如在a.txt文件中查找包含1的内容

linux常用命令_第10张图片
grep用法举例

grep常用选项说明:

选项 含义
-v 显示不包含匹配文本的所有行(相当于求反)
-n 显示匹配行及行号
-i 忽略大小写

另外grep搜索内容串可以是正则表达式

参数 含义
^a 行首,搜寻以 m 开头的行;grep -n '^a' 1.txt
ke$ 行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt
[Ss]igna[Ll] 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt
. (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

grep常用正则表达式 :

参数 含义
^a 行首,搜寻以 m 开头的行;grep -n '^a' 1.txt
ke$ 行尾,搜寻以 ke 结束的行;grep -n 'ke$' 1.txt
[Ss]igna[Ll] 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、Signal、SignaL的行;grep -n '[Ss]igna[Ll]' 1.txt
. (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee,eae,eve,但是不匹配 ee,eaae;grep -n 'e.e' 1.txt

<14>查找文件:find

find命令非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户所属的文件

常用用法:

命令 含义
find ./ -name test.sh 查找当前目录下所有名为test.sh的文件
find ./ -name '*.sh' 查找当前目录下所有后缀为.sh的文件
find ./ -name "[A-Z]*" 查找当前目录下所有以大写字母开头的文件
find /tmp -size 2M 查找在/tmp 目录下等于2M的文件
find /tmp -size +2M 查找在/tmp 目录下大于2M的文件
find /tmp -size -2M 查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M 查找当前目录下大于4k,小于5M的文件
find ./ -perm 777 查找当前目录下权限为 777 的文件或目录

<15>拷贝文件:cp

cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。

常用选项说明:

选项 含义
-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
-f 已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v 显示拷贝进度

<16>移动文件:mv

用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。

常用选项说明:

选项 含义
-f 禁止交互式操作,如有覆盖也不会给出提示
-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v 显示移动进度

如果mv移动前后的路径不同,那么这时是移动文件,如果前后路径都是当前路径,则为文件重命名


<17>归档管理:tar

计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。

tar使用格式 :tar [参数] 打包文件名 文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

常用参数:

参数 含义
-c 生成档案文件,创建打包文件
-v 列出归档解档的详细过程,显示进度
-f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t 列出档案中包含的文件
-x 解开档案文件

注意:除了f需要放在参数的最后,其它参数的顺序任意。

用法举例:
打包文档

tar -cvf a.tar *.py
linux常用命令_第11张图片
打包

如打包当前目录下的所有文档可以使用*

tar -cvf a.tar *

解包文档

tar -xvf  a.tar 
linux常用命令_第12张图片
解包文档

<18>文件压缩解压:gzip

tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [选项] 被压缩文件
常用选项:

选项 含义
-d 解压
-r 压缩所有子目录

tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...

tar -zcvf a.tar.gz *

解压用法: tar zxvf 压缩包包名

tar -zxvf a.tar.gz

常用的压缩文件后缀为.tar.gz和.tar.bz2
这两种解压缩方式稍有区别
对于.tar.bz2的格式命令如下:

tar -jcvf a.tar.bz2 * #打包压缩文档为.gz2格式
tar -jxvf a.tar.bz2  # 解压文档格式为gz2的文档

对于.tar.gz文档和.tar.bz2文档,.tar.gz的压缩比更大一些,推荐使用.tar.gz,.tar.bz2的只需记住解压的命令即可


<19>文件压缩解压:bzip2

tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。

tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。

在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。

压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)

<20>文件压缩解压:zip、unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件:zip [-r] 目标文件(没有扩展名) 源文件

解压文件:unzip -d 解压后目录文件 压缩文件

<21>查看命令位置:which

which命令很简单常用,不再介绍

你可能感兴趣的:(linux常用命令)