【Linux初学】常用命令

前言:此文章为观看tony老师的linux视频整理而来,整理做自己查阅用,如侵必删

liunx命令格式:

命令 [选项] [参数]

注意:个别命令使用不遵循此格式

当有多个选项时,可以写在一起

简化选项与完整选项:-a 等于 --all

显示当前所在位置:pwd

切换目录:cd [目标目录]

简化操作

cd ~ 进入当前用户的家目录 cd 

cd -  进入上次目录

cd .. 进入上一级目录

cd .  进入当前目录

查询目录中内容:ls [选项] [文件或目录]

选项:-a 显示所有文件,包括隐藏文件

           -l  显示详细信息

           -d 查看目录属性

           -h 人性化显示文件大小

           -i  显示inode

注: -rw-r--r--

- 代表文件类型( - 文件 d 目录 l 软连接文件)(不止这三种,其他为系统文件或硬件文件,不需要掌握)

剩下的三个为一组,代表用户的操作权限,第一组为u所有者的操作权限,第二组为g所属组,第三组为o其他人

r读 w写 x执行

Ps: -h 通常与 -l 一起使用,单独使用 -h 没有作用

 

建立目录:mkdir -p [目录名]

-p 递归创建

删除空目录:rmdir [目录名]

删除文件或目录:rm -rf [文件或目录]

选项:-r 删除目录

           -f 强制

复制:cp [选项] [原文件或目录] [目标目录]

选项:-r  复制目录

           -p 连带文件属性复制

           -d 若原文件是链接文件,则复制链接属性

           -a 相当于 -pdr

注:-p 及 -a 不能连带inode一起复制 inode是独一无二的,只能通过链接

剪切或改名:mv [原文件或目录] [目标目录]

注:mv命令操作目录不需要 -r

 链接:ln -s [原文件] [目标文件]

选项: -s 创建软链接

软链接和硬链接的区别:

硬链接特征:

1.拥有相同的i节点的存储block块,可以看做是同一个文件

2.可通过i节点识别(相同i节点)

3.不能跨分区(相同block块当然不能跨分区)

4.不能针对目录使用

5.删除原文件该链接仍能使用

软链接特征:

1.类似Windows快捷方式,删除原文件后链接不可以使用

2.软链接拥有自己的i节点和block块,但数据块中只保存原文件的文件名和i节点号,并没有实际的数据文件

3.lrwxrwxrwx l代表软链接,软链接的文件权限都是777,但是具体操作权限由原文件确定

4.修改任意文件,另一个都改变(硬链接也一样)

5.可以针对目录使用

注意!!!创建软链接一定要使用绝对路径!!!

文件搜索命令

locate [文件名]   

#在后台数据库中文件名搜索,搜索速度更快

/var/lib/mlocate

#locate命令所搜索的后台数据库

updatedb

#更新数据库

注:touch命令

touch命令通常用来创建新的空文件,也可以用来把已存在文件的时间标签更新为系统当前的时间(默认方式)

后一种功能不常用,不在此多介绍。

 注:locate 的搜索配置文件 为 /etc/updatedb.conf,里面配置了locate命令的搜索范围,whereis和which命令也同样遵守这个配置文件。

搜索命令的命令:whereis [命令名]

#搜索命令所在路径及帮助文档所在位置 

选项:-b  只查找可执行文件

           -m 只查找帮助文件

which 类似于whereis但是which不会显示帮助文档所在位置,会额外显示命令的别名。

注:whereis和which命令都只能查linux系统命令,不能查shell内置的命令

linux环境变量

 

find [搜索范围] [搜索条件]

#需要避免大范围搜索,会非常耗费系统资源

#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

linux的通配符

*  匹配任意内容

?匹配任意一个字符

[]  匹配任意一个括号内的字符

 

find /root -iname install.log

#不区分大小写

find /root -user root

#按照所有者搜索

find /root -nouser

#查找没有所有者的文件(用于查找垃圾文件,外来文件(U盘和光盘)和内核产生的文件(proc和sys目录下))

find /var/log/ -mtime +10

#查找10天前修改的文件

# -10       10天内修改的文件

# 10        10天当天修改的文件

# +10      10天前修改的文件

# atime 文件访问时间

# ctime 改变文件属性时间

# mtime 修改文件内容时间

find . -size 25k

#查找文件大小是25KB的文件

# -25k    小于25KB的文件

# 25k     等于25KB的文件

# +25k   大于25KB的文件

注意:搜索MB单位为大写M,搜索KB为小写k,不写默认单位为数据块

find . -inum 262422

#查找i节点是262422的文件

find /etc -size +20k -a -size -50k

#查找/etc/目录下,大于20KB并且小于50KB的文件

-a and 逻辑与,两个条件都满足

-o or    逻辑或,两个条件满足一个即可

find /etc -size +20k -a -size -50k -exec ls -lh {} \;

#查找/etc、目录下,大于20KB并且小于50KB的文件,并显示详细信息

#-exec/-ok 命令{} \;对搜索结果执行操作

 字符串搜索命令:grep [选项] 字符串 文件名

#在文件当中匹配符合条件的字符串

选项:-i 忽略大小写

          -v 排除指定字符串

注:如果需要匹配,使用正则表达式匹配,属于包含匹配

 帮助命令

man [命令]

#获取指定命令的帮助

小技巧:因为帮助文档过于长,所以我们常常需要对文档内容进行搜索,假如我们需要搜索-d,则输入/-d即可

 压缩文件

.zip格式压缩

zip [压缩文件名] [原文件]

#压缩文件

zip -r [压缩文件名] [目录]

#压缩目录

unzip [压缩文件]

#解压缩.zip文件

注意:压缩目录时不要写绝对路径,否则会连同路径一起压缩进压缩文件

.gz格式压缩

gzip [原文件]

#压缩为.gz格式的压缩文件,原文件会消失 ,压缩文件会以原文件名命名,加.gz后缀

gzip -c [原文件] > [压缩文件]

#压缩为.gz格式,原文件保留

gzip -r [目录]

#压缩目录下所有的子文件,但是不能压缩目录

gzip -d [压缩文件]  /  gunzip [压缩文件]

#解压缩.gz文件(解压后以该压缩文件名命名新文件)

.bz2格式压缩

bzip2 [原文件]

#压缩为.bz2格式,不保留原文件

bzip2 -k [原文件]

#压缩之后保留源文件(注意与gzip区分)

注意:.bzip2不能压缩目录

bzip2 -d [压缩文件] / bunzip [压缩文件]

#解压缩,-k保留压缩文件

打包命令:tar -cvf [打包文件名] [原文件]

选项:-c  打包

           -v  显示过程

           -f   指定打包后的文件名

tar -xvf [打包文件名]

选项:-x 解打包

tar -zcvf [压缩包名] [原文件]

选项:-z 压缩为.tar.gz格式

           -j  压缩为.tar.bz2格式

tar -ztvf [压缩包名]

选项:-t 查看压缩包内容

tar -zxvf [压缩包名]

#解压缩.tar.gz

tar -jxvf [压缩包名]

#解压缩.tar.bz2

注:以上两种压缩可以同时压缩多个文件和目录

关机和重启命令

shutdown  [选项] [时间]

选项:-c  取消前一个关机命令

           -h 关机   (halt / poweroff / init 0)(这三个不安全)

           -r  重启    (reboot)

挂载命令

mount

#查询系统中已经挂载的设备

mount -a

#依据配置文件/etc/fstab的内容,自动挂载

mount [-t文件系统] [-o特殊选项] [设备] [文件名] [挂载点]

选项:-t 文件系统:假如文件系统类型类指定挂载的类型,可以ext3、ext4、iso9660(光盘)等文件系统

          -o 特殊选项:可以指定挂载的额外选项

umount [设备文件名或挂载点]