Linux常用命令)
一、命令基本格式
1、命令 【选项】【参数】
选项:调整命令要显示的内容
参数:可以是命令要执行的参数
例如:
命令是:ls -al
文件类型常用的有:d(文件)-(目录)l(软连接)
访问模式有3种:user所有者,group所属组,other其他人 ,还有all(所有人)
操作权限有3种:r 读,w写,x 执行(对应数字4,2,1)
第1位的表示文件类型
2-4位表示(所有者)对该文件的处理权限
5-7位表示(所属组)对该文件的处理权限
8-10位表示(其他人 )对该文件的处理权限
命令:ls -lh
变得容易读取,大小有字节变成了以k位单位
二、文件处理命令
1、目录的命令
创建目录:mkdir
- mkdir -p 【目录】 (命令英文名:make directories)
-p 递归创建 # 表示创建一串目录的时候就加-p
例如: mkdir top # 创建单级目录不需要加-p
命令:mkdir top/top1/top2 -p #这时候就要加-p,位置不影响
切换所在目录: cd
- cd 【目录】 (命令英文名:change directories)
cd ~ #进入当前用户的家目录
cd … #进入上一级目录
cd - # 进入上次目录
注意:相对路径和绝对路径
相对路径:…/user/top #表示上级目录下必须要有user/top
绝对路径:/user/top #表示/user/top就是在跟目录/下寻找的
查看所在目录位置:pwd
pwd(命令英文名:print working directory)
删除空目录:rmdir
rmdir【目录名】
(命令英文名:remove empty directories)
只能删除空白的目录,不空白的删除不了
删除文件或目录:rm
rm -rf 【文件或目录】(英文名:remove)
选项:
-r # 删除目录
-f # 强制
注意注意注意:让linux自杀命令:rm -rf / ,试试就逝世
复制命令:cp
格式:cp 【选项】【原文件或目录】【目标目录】(英文名:copy)
选项:
-r #复制目录
-p #连带文件属性赋值
-d #若原文件是链接文件,则复制链接属性
-a #相当于 -pdr(前面3个选项)
剪切或改名命令:mv
格式:mv【原文件或目录】【目标目录】(move)
常用目录的作用
链接命令:ln
格式:ln -s 【原文件】【目标文件】(link)
-s # 创建软链接 # 不加为硬链接
例子:
ln aa.aa /home/nihao/top/bb.bb #创建硬链接
ln -s /home/nihao/aa.aa /home/nihao/top/cc.cc #创建软链接(原文件必须是绝对路径)
注意:1、硬链接就跟cp错不多,但是ln只是给原文件起多了一个名字,还是指向同一个文件索引表里的原文件的存储地址
2、软链接是在文件索引表也创建了一个i节点和存储地址,存储地址存的是原文件的i节点,在通过i节点去查找原文件
三、文件搜索命令
文件搜索命令:locate
格式:locate 【文件名】
优点:在后台数据库种按文件名搜索,搜索速度更快
缺点:只能按照文件名搜索
默认在:/var/lib/mlocate 下的数据库搜索,不是长更新,默认一天更新
手动更新数据库:updatedb
locate的搜索规则按照/etc/updatedb.conf配置文件下的规则搜索
PRUNE_BIND_MOUNTS:开启搜索限制
PRUNEFS:不搜索的文件系统
PRUNENAMES:不搜索的文件类型
PRUNEPATHS:不搜索路径
文件搜索命令:whereis和which
whereis:搜索命令的命令,可以搜索都命令所在的位置和帮助文档的位置
格式:whereis 【选项】【命令】
选项:
-b # 只查找可执行文件
-m #只查找帮助文件
例子:whereis ls
which:搜索命令所在的路径和别名
格式:which 【命令】
例子:which ls
PATH环境变量
命令都会去环境变量里面的路径去找相应的设置,例如输入ls,就不用输入/bin/ls这样子了
find命令
格式:find 【搜索范围】【搜索条件】【搜索内容】
例子:find / -name aa.aa
表示从根路径开始,一个文件一个文件的查找下去,直到查到完全匹配aa.aa
这样会造成大范围搜索,会非常的耗费资源
find是在系统当中搜索符合条件的文件名(完全匹配)。如果需要模糊匹配,则使用通配符匹配。
通配符:* , ? , []
*表示匹配任意内容
?# 匹配任意一个字符
[] # 匹配任意一个中括号内的字符[abc],匹配到a或b或c都可以
- find /root -iname aa.aa # 不区分大小写
- find /root -user root # 按照所有者搜索
- find /root -nouser #查找没有所有者的文件,一般是内核产生的数据或者是u盘传进去的数据才没有所有者的概念,其他的都是垃圾文件
- find /var/log/ -mtime +10 # 查找10天前的数据,-10:10天内,10:当天数据
-atime:文件访问属性,-ctime:改变文件属性,-mtime:修改文件内容 - find . -size 25k # 查找文件大小是25KB的文件
-25k:小于25kb的文件,+25:大于25kb的文件 - find . -inum 266344 # 查找i节点是166344的文件
- find /etc -size +20k -a -size -50k
表示查找/etc目录下,大于20kb小于50kb的文件
-a表示and,逻辑与
-o表示or,逻辑或 - find /etc -size +20k -a -size -50k -exec ls -lh {} ;
在-exec后面可以跟上另外的命令,但是后面必须加上{} ;表示对执行的结果再执行操作
搜索字符串命令:grep
格式:grep 【选项】【字符串】【文件名】
选项:
-i # 忽略大小写
-v # 排除指定字符串
例子:grep ‘size’ aa.aa
表示在aa.aa文件里找到所有含有字符串是‘size’的行
四、帮助命令
帮助命令:man
格式:man 【命令】
#获取指定命令的帮助
例子:man ls
#查看ls命令的帮助
打开之后的页面如下:
上图的第一行的(1)表示命令的级别
man的级别
查看man级别的格式:man -f 【命令】# 可以获取到命令的所有级别
#相当于whatis 命令:whatis 【命令】
格式:man 【级别数字】【命令】# 可以查看到对应级别的帮助文档
#查看和命令相关的所有帮助
格式:man -k 【命令】
相当于:apropos 【命令】
例子:man -k passwd
如下可以找到所有包含关于passwd的所有命令级别
选项帮助:–help
格式:命令 --help
例子:ls --help
shell内部命令帮助:help
一些关于shell的理解:shell解释成壳,Linux是由内核外面包着一层壳组成的,相当于windows的图形界面就是壳,shell就是我们与Linux交互的窗口,shell有自带的命令
获取shell命令帮助:
格式:help 【shell内部命令】 # 获取shell内部命令的帮助
例子:
#如何判断是否是shell命令
whereis cd
获取内部命令的帮助
help cd
详细命令帮助:info
格式:info 【命令】
info其实是把所有的命令放到一个文档里面,查的时候会整篇都查出来,我们找到所需要的命令,再进入子页面就可以获取帮助了
五、压缩与解压缩命令
常见的压缩格式:.zip#.gz#.bz2
.zip
-
#压缩文件
-
格式:zip 【压缩文件名】【源文件】
-
#压缩目录
-
格式:zip -r 【压缩文件名】【源目录】
-
解压解压:unzip 【压缩文件名】解压.zip文件
.gzip
-
#压缩文件
-
格式:gzip 【源文件】
#注意:压缩为.gz格式的压缩文件,源文件会消失 -
要想保留源文件
-
格式:gzip -c 源文件 > 压缩文件
#压缩为.gz格式,源文件保留 -
#压缩目录
-
格式:gzip -r 【源目录】
#注意:压缩子目录下的所有子文件,但是不压缩目录 -
解压解压:(两种解压方式)
-
gzip -d【压缩文件名】#.gz文件
-
gunzip【压缩文件名】#.gz文件
.bzip2
-
bzip2 【源文件】
#跟gzip一样不保留源文件,生成.bz2格式文件 -
bzip2 -k 【源文件】
#保留源文件
!!!注意:bzip2不能压缩目录 -
解压:(两种解压方式)
-
bzip2 -d 【压缩文件】
#加-k保留压缩文件 -
bunzip2 【压缩文件】
#加-k保留压缩文件
打包命令:tar
打包:-cvf
格式:tar -cvf 【打包文件名】【源文件】
选项:
-c:# 打包
-v:# 显示过程
-f:# 指定打包后的文件名
例如:
tar -cvf aa.tar aa
#会生成一个.tar打包文件
解包:-xvf
格式:tar -xvf 【打包文件名】
格式:tar -xvf 【打包文件名】
常见的压缩格式: .tar.gz#.tar.bz2
.tar.gz压缩格式(-z)
其实.tar.gz格式是先打包成.tar格式,再压缩为.gz格式
- 格式:tar -zcvf 【压缩包名.tar.gz】【源文件】
- -z#表示压缩为.tar.gz格式
- 解包格式:tar -zxvf 【压缩包名.tar.gz】-C 【路径】
- -C表示可以指定解压包到指定位置
.tar.bz2压缩格式 (-j)
其实.tar.bz2格式是先打包成.tar格式,再压缩为.bz2格式
- 格式:tar -jcvf 【压缩包名.tar.bz2】【源文件】
- -j#表示压缩为.tar.bz2格式
- 解包格式:tar -jxvf 【压缩包名.tar.bz2】-C 【路径】
- -C表示可以指定解压包到指定位置
查看压缩包的内容:(-t)
格式:tar -jtvf 【压缩包.tar.bz2】
六、关机和重启命令
shutdown关机命令
格式:shutdown 【选项】【时间】
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
例子:shutdown -r now
#表示现在重启
shutdown -r 05:30 &
#表示从现在起到凌晨5点半关机,&符号表示该命令在后台运行
如果想取消:shutdown -c
注意注意:一般服务器不应该重启,重启之后,开机就会很麻烦,因为都是远程登陆,或者是很多人连接了服务器,一旦关机。。。。
其他关机命令
- halt
- poweroff
- init 0
相比这几个命令,shutdown关机命令更加安全,会保存关闭相关服务再关机
重启命令
- reboot # 比较安全
- init 6
系统运行等级
修改系统默认运行等级
命令:cat /etc/inittab
查询系统运行级别:runlevel
退出登录命令:logout
七、其他常用命令
挂载命令
查询与自动挂载
命令:mount # 查询系统中已经挂载的设备
命令:mount -a
#依据配置文件/etc/fstab的内容,自动挂载
挂载命令格式
格式:mount【-t 文件系统】【-o 特殊选项】【设备文件名】【挂载点】
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ex4、iso9660等文件系统
-o 特殊选项:可以指定挂载的额外选项
特殊选项
例子:
挂载光盘
第一步:建立挂载点
mkdir /mnt/cdrom/ # 在/mnt目录下建一个cdrom目录作为挂载点
第二步:挂载光盘
mount -t iso9660 -o /dev/cdrom /mnt/cdrom # 光盘的文件系统默认是iso9660,默认的文件名是/dev/cdrom或者是/dev/sr0
第二步也可以是:mount /dev/sr0 /mnt/cdrom
挂载u盘
第一步:先查看u盘的设备文件名
fdisk -l # 查看到/dev/sda1已被占用,所以使用/dev/sdb1
第二步:建立u盘挂载点
mkdir /mnt/cdusb
第三步:挂载u盘
mount -t vfat -o /dev/sdb1 /mnt/cdusb
卸载命令
格式:umount 【设备文件名或挂载点】
例如:umount /mnt/cdrom
用户登陆查看和用户交互命令
w
格式:w【用户名】
who
格式:who【用户名】
命令输出:
- 用户名
- 登陆终端
- 登录时间(登陆来源于IP地址)