Linux命令
一、命令基本格式
命令提示符
[root@localhost ~]#
其中:
root: 当前用户
localhost: 当前主机名
~: 当前用户的根目录(所在目录)
#: 超级用户提示符是#
普通用户提示符是$
命令格式
命令 [选项] [参数]
注意:
个别命令使用不遵守此格式
当有多个选项时,可以写在一起
简化选项与完整选项
-a 等于 --all
查询目录中内容 ls
ls [选项] [文件或目录]
注意(可以组合使用):
-a 显示所有文件,包含隐藏文件(在linux中文件名.开头的文件是隐藏文件)
-l 显示详细信息(大小显示字节)
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode(查看文件id号)
-rw-r--r--
- 文件类型(-代表文件 d代表目录 I代表软连接文件)
rw- 所有者
r-- 所属组 例如:班级男生
r-- 其他人 例如:班级男生外的其他人
r 读
w 写
x 执行
二、文件处理命令
目录处理命令
建立目录 mkdir(make directories)
mkdir -p [目录名]
-p 递归创建
例如:当前目录下创建aa/bb,当aa目录不存在时,直接创建aa和bb两级目录
切换目录 cd(change directory)
cd [目录名]
简化操作:
cd ~ 进入当前用户的家目录
cd - 进入上次所在目录
cd .. 进入上一级目录
cd . 进入当前目录
查询目录所在位置(print working directory)
pwd
删除空白目录(remove directory)
rmdir
删除文件或目录 rm(remove)
rm [选项] [文件或目录]
选项:
-r 删除目录
-f 强制
复制命令 cp(copy)
cp [选项] [原文件或目录] [目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr
剪切或改名命令 mv(move)
mv [原文件或目录] [目标目录]
注意:
A. 原文件和目标文件不在一个目录是剪切操作
B. 原文件和目标文件在一个目录是改名操作
常用目录作用
/ 根目录
/bin 保存普通用户执行的系统命令
/sbin 保存超级用户执行的系统命令
/boot 启动目录,保存用户启动数据
/etc 系统默认配置文件目录
/home 普通用户家目录
/root 超级用户家目录
/lib 函数库
/media 挂载光盘
/mnt 挂载U盘
/misc 挂载磁带机
/sys 不能直接操作,保存的是内存的挂载点
/proc 不能直接操作,保存的是内存的挂载点
/tmp 临时目录
/usr 系统软件资源目录
/usr/bin/ 保存普通用户的系统命令
/usr/sbin/ 保存超级用户的系统命令
/var 系统相关文档内容
链接命令
链接命令 ln(link)
ln -s [原文件] [目标文件]
硬链接特征:
A. 拥有相同的i节点和存储block块,可以看做是同一个文件
B. 可以通过i节点识别
C. 不能跨分区
D. 不能针对目录使用
软链接特征:
A. 类似Windows快捷方式
B. 软链接拥有自己的i节点和block块,但是数据块中只保存了源文件的文件名和i节点号,并没有实际的文件数据
C. 修改任意文件,另一个都不改变
D. 删除源文件,软链接不能使用
E. 源文件不写绝对路径,必须要把源文件和软链接文件要在同目录,不然会报错
三、文件搜索命令
文件搜索命令locate
locate 文件名
A. 在后天数据库中按文件名搜索,搜索速度更快
B. locate命令在/var/lib/mlocate数据库中搜索,但这个数据库不是实时更新的,而是每天更新一次
C. updatedb可以手动更新B中的mlocate数据库
D. linux版本不同mlocate数据库名可能不同
E. /etc/updatedb.conf为locate搜索的配置文件,locate按照这个配置去搜索文件
/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS="yes" 开启搜索限制
PRUNEFS 搜索时,不搜索的文件系统
PRUNENAMES 搜索时,不搜索的文件类型
PRUNEPATHS 搜索时,不搜索的路径
命令搜索命令whereis与which
whereis [选项] 命令名
搜索命令所在路径及帮助文档所在位置,只能查找系统命令,例如:whereis ls
选项:
-b 只查找可执行文位置,不看帮助文档位置
-m 只看帮助文件位置
which 命令名
搜索命令所在路径及别名
文件搜索命令find
find [搜索范围] [搜索条件]
注意:
A. 避免大范围搜索,会非常耗费系统资源
B. find在系统中搜索符合条件的文件名,名称必须要一模一样,如果要不一样,就要使用通配符
通配符
* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符
find /root -iname 文件名
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
搜索没有所有者的文件
find /var/log/ -mtime +10
查找10天前修改的文件
A. -10 10天内修改文件
B. 10 10天当天修改的文件
C. +10 10天前修改的文件
A. atime 文件访问时间
B. ctime 改变文件属性
C. mtime 修改文件内容
find /root -size 25k
25k 查找文件大小是25kb的文件
-25k 查找文件大小小于25kb的文件
+25k 查找文件大小大于25kb的文件
注意:查找kb只能用小写k,查找兆只能用大写M
find /root inum 12345
查找i节点(id)为12345的文件
find /etc -size +20k -a -size -50k
查找/etc目录下,大于20k并且小于50k的文件
注意:
A. -a(and) 逻辑与,表示两个条件都满足
B. -o(or) 逻辑或,表示两个条件任一一个满足
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找etc目录下,大于20k并且小于50k的文件,并显示详细信息
注意:
A. -exec/-ok 命令 {} \; 对于搜索结果执行操作
搜索字符串命令grep
grep [选项] 字符串 文件名
在文件中搜索符合条件的文件
选项:
A. -v 取反,搜索不包含“字符串”
B. -i 忽略大小写
find命令与grep命令的区别
A. find命令是在系统中搜索符合条件的文件,如果需要匹配,使用通配符,通配符是完全匹配
B. grep是在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式时包含匹配(即模糊匹配)
四、帮助命令
帮助命令man
man 命令
获取指定命令的帮助
man的级别
A. 1:查看命令的帮助
B. 2:查看可被内核调用的函数的帮助
C. 3:查看函数和函数库的帮助
D. 4:查看特殊文件的帮助(主要是/dev目录下的文件)
E. 5:查看配置文件的帮助
F. 6:查看游戏的帮助
G. 7:查看其它咋选项的帮助
H. 8:查看系统管理员可用命令的帮助
I. 9:查看和内核相关文件的帮助
其他帮助命令
命令 --help
获取命令选项的帮助
help shell内部命令
获取shell内部命令的帮助
五、压缩与解压缩命令
压缩文件 zip
zip 压缩文件名 源文件
压缩源文件
unzip 压缩文件
解压缩.zip文件
格式压缩.gz
gzip 源文件
压缩为.gz格式的压缩文件,源文件会小时
gzip -c 源文件 > 压缩文件
压缩为.gz格式,源文件保留
gzip -r 目录
压缩目录下所有的子文件,但是不能压缩目录
gzip -d 压缩文件
解压缩文件
gunzip 压缩文件
解压缩文件
格式压缩.bz2
bzip2 源文件
压缩为.bz2格式,不保留源文件
bzip2 -k 源文件
压缩为.bz2格式,保留源文件
注意:不能压缩目录
bzip2 -d 源文件
解压缩.bz2格式文件
bunzip2 压缩文件
解压缩,-k保留压缩文件
打包命令tar
tar -cvf 打包的文件名 源文件
打包文件为.tar格式
选项:
A. -C 打包
B. -v 显示过程
C. -f 制定打包后的文件名
tar -xvf 打包文件名
解打包.tar格式文件
选项:
A. -x 解打包
B. -v 显示过程
C. -f 制定打包后的文件名
压缩格式.tar.gz
tar -zcvf 压缩包名.tar.gz 源文件
压缩文件问.tar.gz格式
选项:
A: -z 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
解压缩文件.tar.gz
选项:
A: -x 解压缩.tar.gz格式
tar -jcvf 压缩包名.tar.bz2 源文件
压缩文件问.tar.bz2格式
选项:
A: -z 压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
解压缩文件.tar.bz2
选项:
A: -x 解压缩.tar.bz2格式
tar -ztvf 压缩包名
查看压缩包内的内容
六、关机和重启命令
shutdown命令
shutdown [选项] 时间
选项:
A: -c 取消前一个关机命令
B: -h 关机
C: -r 重启
其他关机命令(不太安全)
halt
poweroff
init 0
其他重启命令
reboot(相对安全)
init 6(尽量不用)
系统运行级别
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完全多用户
4 未分配
5 图形界面
6 重启
注意:
A. runlevel 当前系统运行级别,显示结果为系统前一级别和当前级别
B. cat /etc/inittab 进入系统启动默认级别设置的配置文件
退出登录命令
logout
七、 其他常用命令
挂载命令
mount
查询系统中已经挂载的设备
mount -a
依据配置文件/etc/fstab的内容,自动挂载
挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
A. -t 文件系统 加入文件系统类型来制定挂载的类型,可以ext3,ext4,iso9660等文件系统
B. -o 特殊选项 可以指定挂载的额外选项
卸载命令
umount 设备文件名或挂载点
挂载光盘
mount -t iso9660 /dev/sr0 /mnt/cdrom/
挂载U盘
fdisk -l
查看U盘的设备文件名
mount -t vfat /dev/sdb1 /mnt/usb
挂载U盘
注意:Linux默认不支持NTFS文件系统的
用户登录查看
w 用户名
查看用户登录信息
命令输出:
USER 登录的用户名
TTY 登录终端
FROM 从哪个IP地址登录
LOGIN@ 登录时间
IDLE 用户闲置时间
JCPU 指的是和该终端连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占的时间
PCPU 是指当前进程所占用的时间
WHAT 当前正在运行的命令
who 用户名
查看登陆用户信息
命令输出:
用户名
登陆终端
登陆时间(登陆来源IP地址
last
查询当前登录和过去登陆的用户信息
注意:last命令默认是读取/var/log/wtmp文件数据
命令输出:
用户名
登陆终端
登陆IP
登陆时间
推出时间(在线时间)
last log
查看所有用户的最后一次登录时间
注意:lastlog命令默认是读取/var/log/lastlog文件内容
命令输出:
用户名
登陆终端
登陆IP
最后一次登录时间