慕课网:Linux 达人养成计划<2> Linux常用命令
Linux常用命令
1. 命令基本格式
linyk3@ThinkPad:~$
- linyk3 :登录用户名
- ThinkPad : 主机名
- ~: 当前所在位置
- $ : 普通用户, #: 根用户
命令 [选项] [参数]
简化选项 -a
完整选项 --all
ls [选项] [参数]
-a
查看所有文件,包括隐藏文件-l
显示文件详细信息-d
查看目录属性-h
人性化显示文件大小-i
显示inode
2.文件处理命令
2.1 目录处理命令
建立目录: mkdir: mkdir -p [目录名]
make directories
-p 递归创建目录
打开目录: cd
相对路径, 绝对路径
查看当前目录
pwd
删除目录: rmdir
remove empty directories 删除空目录
删除文件或目录: rm [-rf] [文件或目录]
rm -r
: 删除目录
rm -f
: 强制删除
2.2 文件处理命令
复制命令: cp [选项] [原文件或目录] [目标目录]
copy
-r
复制目录
-p
连带文件属性复制
-d
若源文件是链接文件,则复制链接属性
-a
相当于 -pdr
剪切或改名命令 mv [原文件或目录] [目标目录]
move
操作目录时,不加 -r
常用目录的作用:
/
根目录/bin
命令保持目录,普通用户可以访问/boot
启动目录,启动相关文件/dev
设备文件保存目录/etc
配置文件保存目录/home
普通用户的家目录/lib
系统库保存目录/mnt
系统挂载目录/media
挂在目录/root
超级用户的家目录/tmp
临时目录/sbin
命令保存目录(超级用户才能使用)/proc
直接写入内存的,不能直接操作,是内存的过载点/sys
不能直接操作,是内存的过载点/usr
/usr/bin/系统命令
普通用户/usr/sbin/系统命令
超级用户
/var
系统相关文档内容
2.3 链接命令
ln -s [原文件] [目标文件]
link
生成链接文件
-s
创建软链接
硬链接特征
- 拥有相同的i节点和存储block块,可以看做是同一个文件
- 可通过i节点识别
- 不能跨分区
- 不能针对目录使用
软链接特征
- 类似Windows的快捷方式
- 软链接拥有自己的i节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
- lrwxrwxrwx l:软链接 软链接文件的权限都为rwxrwxrwx
- 修改任意文件,另一个都改变
- 删除原文件,软链接不能使用
3.文件搜索命令
3.1 文件搜索命令 locate
locate [文件名]
在后台数据库中搜索文件名,搜索速度快
/var/lib/mlocate
locate命令搜索的数据库
updatedb
mlocate数据库每天更新一次,手动更新命令。 配置文件时/etc/updatedb.conf 筛选规则
缺点:
只能搜索文件名, find功能强大但消耗大
3.2 命令搜索命令 whereis 与 which
whereis 命令名
搜索命令所在的路径及帮助文档所在位置
-b 只查找可执行文件
-m 只查找帮助文件which
搜索命令所在位置,如有别名,也显示出来
shell 内置命令不能用which 和 wehreis来查找,例如 cd
$PATH 环境变量
定义的是系统搜索命令的路径
3.3 文件搜索命令 find
find [搜索范围] [搜索条件]
搜索文件
find / -name install.log
注意
- 避免大范围搜索,会非常消耗系统资源
- find 是在系统中搜索符合条件的文件名, 如果使用通配符,那将会是完全匹配
- * 匹配任意字符
- ? 匹配任意一个字符
- [] 匹配中括号里任意一个字符
find /root -iname install
不区分大小写
find /root -user root
按文件所有者来搜索
find /root -nouser
查找没有所有者的文件: 内核生成的文件和外来的文件可能没有所有者
find /var/log -mtime +10
查找10天前修改的文件
-10
10天内10
10天前的当天修改的文件+10
10天前atime
文件访问时间ctime
文件属性改变时间mtime
修改文件内容
find . -size 25k
查找文件大小是25KB的文件
-25k
小于25kb M25k
等于25kb M+25k
大于25kb M
find /etc -size +20k -a -size -50M
查大于20KB并且小于50M的文件
find /etc -size +20k -a -size -50M -exec ls -lh {} \;
查大于20KB并且小于50M的文件,并且显示详细信息
-exec/-ok 命令 {}\
是对搜索结果执行的操作-a
and逻辑与-o
or 逻辑或
find . -inum 262422
查找i节点时262422的文件
3.4 字符串搜索命令 grep
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
-i
忽略大小写-v
排除指定字符串,相反操作
3.5 find 命令 与 grep 命令的区别
- find : 在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
- grep: 在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配。
4.帮助命令
4.1 man 命令
manul
man 的级别:
1 可执行程序或 shell 命令
2 系统调用(内核提供的函数)
3 库调用(程序库中的函数)
4 特殊文件(通常位于 /dev)
5 文件格式和规范,如 /etc/passwd
6 游戏
7 杂项(包括宏包和规范,如 man(7),groff(7))
8 系统管理命令(通常只针对 root 用户)
9 内核例程 [非标准]
man -f 命令
,相当于 whereis
查看命令有哪些级别的帮助
//例如
man -f passwd
man 5 passwd
man 1 passwd
whereis passwd
man -k 命令
相当于 apropos 命令
,查看和命令相关的所有帮助
4.2 其他命令
- 命令 –help //获取命令选项的帮助
- help shell内部命令 // 获取shell内部命令的帮助。 可以用
whereis 命令
来确定该命令是否是 shell内部命令,还是外部安装的命令。 shell 内置命令不能用which 和 wehreis来查找,例如 cd
5.压缩与解压缩命令
5.1 .zip
压缩命令
zip 压缩文件名 源文件
//压缩文件zip -r 压缩文件名 源目录
//压缩目录
解压缩命令
unzip 压缩文件名
//加压缩文件
5.2 .gz
gzip 源文件
//压缩为.gz的压缩文件,源文件会消失gzip -c 源文件 > 压缩文件
//压缩为.gz格式,源文件保留gzip -r 目录
//压缩目录下所有的子文件,但是不能压缩目录
5.3 .bz2
bzip2 源文件
//压缩为.bz2格式,不保留源文件bzip2 源文件
//压缩后保留源文件
bzip2 命令不能压缩目录
5.4 tar 打包命令
tar -cvf 打包文件名 源文件
选项
- c : 打包
- v: 显示过程
f: 指定打包后的文件名
eg:
tar -cvf linyk3.tar linyk3
5.5 解打包命令
tar -xvf 打包文件名
选项x 解打包
eg:
tar -xvf linyk3.tar
5.6 .tar.gz
.tar.gz 的格式时是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩包名.tar.gz 源文件
//压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
// 解压缩.tar.gz格式
5.5 .tar.bz2
.tar.bz2 的格式时是先打包为.tar格式,再压缩为.bz2格式
tar -jcvf 压缩包名.tar.bz2 源文件
//压缩为.tat.bz2格式
tar -jxvf 压缩包名.tar.bz2
// 解压缩.tar.bz2格式
6.关机与重启命令
6.1 shutdown 命令
shutdown [选项] 时间
选项
- c : 取消前一个关机命令
- h : 关机
- r : 重启
其他关机命令
- halt
- poweroff
- init 0
这三个命令都可以关机,但是不安全。shutdown 比较安全,会保存。
其他重启命令
- reboot
- init 6
系统运行级别 init 总共7个级别
- 0 关机
- 1 单用户
- 2 不完全多用户,不含NFS服务
- 3 完全多用户
- 4 未分配
- 5 图形界面
6 重启
runlevel
可以查看当前运行级别
退出登录,注销
logout
养成良好习惯,不用直接叉掉CRT
7.其他常用命令
7.1 挂载命令
挂载点 - 分盘符
1. 查询与自动挂载
$ mount
查询系统中已经挂载的设备
$ mount -a
依据配置文件 /etc/fstab 的内容,自动挂载
2. 挂载命令格式
$ mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
-t
文件系统 : 加入文件系统类型来指定挂载的类型,可以时ext3,ext4,ios9660(光盘)等文件系统-o
特殊选项: 可以指定挂载的额外选项
$ mount -o remount,noexec /home
重新挂载/home分区,并且使用noexec权限(不运行执行权限,即使根目录)
3. 挂载光盘
mkdir /mnt/cdrom/
建立挂载点mount -t iso9660 /dev/src0 /mnt/cdrom
挂载光盘
4. 卸载命令
umount 设备文件名或挂载点
用完之后一定要卸载
5.挂载U盘
fdisk -l
查看分区
mount -t vfat /dev/sdb1 /mnt/usb
linux 默认是不支持NTFS文件系统的
7.2 用户登录查看
1. 查看用户信息
w [用户名]
who
2. 查看当前登录和过去登录的用户信息,包括重启时间
last
默认读取的文件是 /var/log/wtmp
3. 查看系统中的所有用户最后一次登录的信息
lastlog
默认读取的是 /var/log/lastlog