一、命令基本格式
命令提示符
[root@localhost~]#
其中:
root | 当前登录用户 |
---|---|
localhost | 主机名 |
~ | 当前所在目录 |
# | 超级用户的提示符 |
$ | 普通用户的提示符 |
命令格式
命令 [选项] [参数]
==注意:==个别命令不遵循此格式,当有多个选项时,可以写在一起,简化选项与完整选项
-a等于–all
文件类型
-rw-r--r--. 1 root root 1648 5月 10 18:11 initial-setup-ks.cfg
-文件类型(- 文件 d 目录 l软连接文件)
rw- r-- r--
u所有者 g所属组 o其他人
r读 w写 x执行 linux的三个权限 每三位为一组
1代表引用计数 第一个root为所有者 第二个root为所属组 1648为大小 之后为最后一次修改时间和文件名
Linux中没有后缀名,也没有软件类型,只有一种系统类型
通过权限位第一位来识别文件类型,每三位为一组
查询目录中的内容:ls
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
每一个文件都拥有自己的id 可以通过-i来查看文件id
可以通过-d来查看文件权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tPmKb0em-1652447802230)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220510193809565.png)]
二、文件处理命令
目录处理命令与文件处理命令
建立目录:mkdir
mkdir -p [目录名]
-p 递归创建 创建一串目录
命令英文原意:make directories
切换目录:cd
cd [目录]
命令英文原意:change directory
简化操作
cd ~ 机内当前用户的家目录
cd
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
- **相对路径:**参照当前所在目录,进行查找
如:[root@imooc~]# cd ../usr/locaa/src/
- **绝对路径:**从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
如:[root@imooc~]# cd /etc/
可以通过按tab两下可以自动补全,可以识别目录补全,也可以命令补全
删除空目录: rmdir
rmdir[目录名]
命令英文原意:remove rmpty directories
只能删除空的文件
删除文件或目录:rm
rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 删除目录
-f 强制
千万不能执行 rm -rf / 会直接让系统崩溃 直接删除Linux的操作系统
复制命令:cp
cp [选项] [源文件或目录] [目标目录]
命令英文原意:copy
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
ll相当于 ls -l
剪切或改名命令:mv
mv [源文件或目录] [目标目录]
命令英文原意:move
如果目标目录没有的话默认为修改源文件名,如果有的话为改名命令
常用的目录作用
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
/boot启动目录,启动相关文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户的家目录
/lib系统库保存目录
/mnt系统挂载目录
/media 挂载目录
/root超级用户的家目录
/tmp临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc直接写入内存的
/sys
/usr系统软件资源目录
/var系统相关文档内容
bin
根目录下的bin和sbin,usr下的bin和sbin,这四个目录都是用来保存系统命令的。bin目录下是任何用户都可以执行的,而sbin下的命令是只有超级用户才可以执行的
dev 特殊文件
etc 配置文件
home 普通用户家目录
root 超级用户家目录
lib 函数库、 功能库
misc media mnt 挂载目录
proc和sys目录不能直接操作,这两个目录保存的是内存的过载点,直接写入内存,不能操作
可以在家目录root下或者home下,以及tmp目录下放置文件,其它不建议
链接命令:ln
ln -s [原文件] [目标文件]
命令英文原意:link
功能描述:生成链接文件
选项: -s 创建软链接
- 硬链接特征:
- 拥有相同的i节点和存储block块,可以看作是同一文件
- 可通过i节点识别
- 不能跨分区
- 不能针对目录使用
用户如果需要查一个文件首先去一个文件索引表中去查找对应的文件再去取出并返回给用户
只有文件才能创建硬链接
硬链接相当于一个文件的两个不同接入点
- 软连接特征:
- 类似Windows快捷方式
- 软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
- lrwxrwxrwx l软连接 软连接文件权限都为lrwxrwxrwx
- 修改任意文件,另一个都改变
- 删除源文件,软链接不能使用
软链接相当于一个快捷方式,用户通过软连接查找时首先在文件索引中查找这个软链接的id,通过id查找到存储对应文件的所有id的一个文件,再通过这个文件到索引中查找
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pH8bq08U-1652447802231)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220511082605981.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DYvZWjQy-1652447802231)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220511090342063.png)]
软链接必须从根目录开始写
三、文件搜索命令
文件搜索命令locate
locate 文件名
在后台数据库中按文件名搜索,搜索速度更快
/var/lib/mlocate
#locate命令所搜索的后台数据库
updatedb
更新数据库
locate命令只会在后台数据库中搜索,所以他很快,但是这个数据库并不是实时更新的,他的更新周期是一天。我们也可以通过updatedb命令来强制更新。
缺点:
只可以通过文件名搜索
/etc/updatedb.conf配置文件
- PRUNE_BIND_MOUNTS = “yes”
#开启搜索限制
- PRUNEFS =
#搜索时,不搜索的文件类型
- PRUNEPATHS =
#搜索时,不搜索的路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Beoew9kY-1652447802232)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220511093110438.png)]
就跟登录过滤器一样,不会搜索指定的路径
命令搜索命令whereis与which
whereis 命令名
#搜索命令所在路径及帮助文档所在位置
选项:
-b: 之查找可执行文件
-m: 之查找帮助文件
which 文件名
#搜索命令所在路径及别名
不是所有命令都可以找到的,例如cd命令,他只能查找到帮助文档,有的命令是Linux的shell命令,是与用户交互时必备的,是Linux自带的。
PATH环境变量
PATH环境变量:定义的是系统搜索命令的路径
[root@localhost~]#echo $PATH
/usr/lib/qt-3.3/bin:
/usr/local/sbin:/usr/local/bin:/sbin:/bin/usr/sbin:/usr/bin:/root/bin
文件搜索命令find
find [搜索范围] [搜索条件]
#搜索文件
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
模糊查询 按名称查找
Linux中的通配符 模糊查询
***** | 匹配任意内容 |
---|---|
? | 匹配任意一个字符 |
[] | 匹配任意一个中括号内的字符 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IXvNnZ7m-1652447802232)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220511102042192.png)]
find/root -iname install.log
#不区分大小写
find /root -user root
#按照所有者搜索
find /root -nouser
#查找没有所有者的文件
Linux严格区分大小写
没有所有者文件一般都为垃圾文件
- proc与sys中的文件由内核产生 很有可能为没有所有者文件属于正常文件
- 用u盘把文件从windows中传到Linux中也可能没有所有者
按时间查找
find /var/log/ -mtime +10
#查找10天前修改的文件
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
按文件大小查找
find . -size 25k
#查找文件大小是25KB的文件
#这里的.就是当前目录 k为小写
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
find . -inum 262422
#查找i节点是262422的文件
复杂find查询
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 命令{}\;对搜索结果执行操作
一般查询出来后再去执行的话很麻烦 ,所以 添加了 -exec ls -lh {} ; 这样一条命令 这是一个标准的格式,只要写了-exec就必须写后面的{}; 执行中间的第二条语句
字符串搜索命令grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串(取反)
从文件中搜索对应的字符串
只要包含就会列出所有
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UFfHIHku-1652447802233)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220511110107486.png)]
find命令与grep命令的区别
- find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配的。
- grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式包含匹配
搜索文件或者文件名就用find,如果搜索内容的话就用grep搜索
四、帮助命令
帮助命令man
man 命令
#获取指定命令得帮助
man ls
#查看ls得帮助
man的级别
1 | 查看命令的帮助 |
---|---|
2 | 查看可被内核调用的函数的帮助 |
3 | 查看函数和函数库的帮助 |
4 | 查看特殊文件的帮助(主要是/dev目录下的文件) |
5 | 查看配置文件的帮助 |
6 | 查看游戏的帮助 |
7 | 查看其它杂项的帮助 |
8 | 查看系统管理员可用命令的帮助 |
9 | 查看和内核相关文件的帮助 |
查看命令拥有哪个级别的帮助
man -f 命令
相当于
whatis 命令
举例:
man -5 passwd
man -4 null
man -8 ifconfig
查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令
例如
apropos passwd
其它帮助命令
shell就相当于Linux的一个壳,是比Linux还要基础的,是自带的语言
怎么区分是自带的命令还是后来加的命令用 whereis 查找,如果能找到就是后来加上的,如果找不到就是自带的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0iPbLR3N-1652447802234)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220511210441932.png)]
shell内部命令帮助
help shell内部命令
#只能获取shell内部命令的帮助
例如:
whereis cd
#确定是否是shell内部命令
help cd
#获取内部命令帮助
详细命令帮助info
info 命令
-回车: 进入子帮助页面(带有*号标记)
-u: 进入上层页面
-n: 进入下一个帮助小结
-p: 进入上一个帮助小结
-q: t
五、压缩与解压缩命令
常用的压缩格式: .zip .gz .bz2
常用的压缩格式: .tar.gz .tar.bz2
压缩命令1
.zip格式压缩与解压缩
压缩:
zip 压缩文件名 源文件
#压缩文件
zip -r 压缩文件名 源目录
#压缩目录
解压缩:
unzip 压缩文件
#解压缩.zip文件
也可以把Windows中的zip文件解压
.gz格式压缩与解压缩
压缩:
gzip 源文件
#压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
#压缩为.gz格式,源文件保留
#例如: gzip -c cangls > cangls.gz
#gzip本不支持这种-c是把这个文件打印出来 加了>是把文件答应道对应文件
gzip -r 目录
#压缩目录下所有的子文件,但是不能压缩目录
如果压缩目录的话,他不能压缩目录,只会压缩这个目录下的文件
解压缩:
gzip -d 压缩文件
#解压缩文件
gunzip 压缩文件
#解压缩文件
.bz2格式压缩与解压缩
压缩:
bzip2 源文件
#压缩为.bz2格式,不保留源文件
bzip2 -k 源文件
#压缩之后保留原文件
注意:bzip2命令不能压缩目录
解压缩:
bzip2 -d 压缩文件
#解压缩,-k保留压缩文件
bunzip2 压缩文件
#解压缩,-k保留压缩文件
压缩命令2
打包命令tar
tar -cvf 打包文件名 源文件
选项:
-c: 打包
-v: 显示过程
-f: 指定打包后的文件名
例如
tar -cvf longzls.tar longzls
解包:
tar -xvf 打包文件名
选项:
-x: 解包
例如 -xvf longzls.tar
.tar.gz压缩格式
其实.tar.gz格式是先打包为.tar格式,再压缩为gz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z: 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项:
-x: 解压缩.tar.gz格式
.tar.bz2压缩格式
tar -jcvf 压缩报名.tar.bz2 源文件
选项:
-z: 压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
选项:
-x: 解压缩.tar.bz2格式
-ztvf 之查看不解压
六、关机和重启命令
shutdown命令:
[root@localhost~]#shutdown [选项] 时间
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
其它关机命令:
[root@localhost~]#halt
[root@localhost~]#poweroff
[root@localhost~]#init 0
其它重启命令:
[root@localhost~]#reboot
[root@localhost~]#init 6
退出登录:
logout
系统运行级别:
0 | 关机 |
---|---|
1 | 单用户 |
2 | 不完全多用户,不含NFS服务 |
3 | 完全多用户 |
4 | 未分配 |
5 | 图形界面 |
6 | 重启 |
[root@localhost~]#runlevel
查询系统当前级别
[root@localhost~]#cat/etc/inittab
#修改系统默认运行级别
id:3:initdefault:
七、其他常用命令
挂载命令
插入u盘时需要分配盘符,再Windows中式自动执行的,而Linux中需要命令执行
1、查询与自动挂载
[root@localhost~]#mount
#查询系统中已经挂载的设备
[root@localhost~]#mount -a
#依据配置文件/etc/fstab的内容,自动挂载
/etc/fstab
只要写入这个文件就会自动挂载
光盘u盘不建议写入文件自动挂载,如果某一天忘记插入u盘,系统就会崩溃
2、挂载命令格式
[root@localhost~]#mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-o 特殊选项:可以指定挂在的额外选项
特殊选项:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BmFEL7v6-1652447802234)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220512105727571.png)]
不能轻易修改:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0MFpPl7g-1652447802235)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220512105955557.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVyfurdn-1652447802235)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220512110113130.png)]
3、挂载光盘
[root@localhost~]#mkdir/mnt/cdrom/
#建立挂载点
[root@localhost~]#mount -t iso9660 /dev/cdrom/mnt/cdrom/
#挂载光盘
[root@localhost~]#mount /dev/sr0/mnt/cdrom
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKlUEOIF-1652447802236)(C:\Users\57322\AppData\Roaming\Typora\typora-user-images\image-20220512111836727.png)]
中间的-t iso9660可以省略
用户登陆查看和用户交互命令
查看登录用户信息
w 用户名
命令输出:
USER:登录的用户名;
TTY:登陆终端;
FROM:从哪个IP地址登录;
LOGIN@:登陆时间;
IDLE:用户闲置时间;
JCPU:指的是和该终端连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;
PCPU:是指当前进程所占用的时间;
WHAT:当前正在运行的命令
查询当前登录和过去登录的用户信息
last
last命令默认式读取/var/log/wtmp文件数据
命令输出
-用户名
-登录终端
-登录IP
-登陆时间
-退出时间(在线时间)
查看所有用户的最后一次登陆时间
lastlog
lastlog命令默认式读取/var/log/lastlog文件内容
命令输出
-用户名
-登陆终端
-登录IP
-最后一次登陆时间
-1652447802235)]
3、挂载光盘
[root@localhost~]#mkdir/mnt/cdrom/
#建立挂载点
[root@localhost~]#mount -t iso9660 /dev/cdrom/mnt/cdrom/
#挂载光盘
[root@localhost~]#mount /dev/sr0/mnt/cdrom
[外链图片转存中…(img-yKlUEOIF-1652447802236)]
中间的-t iso9660可以省略
用户登陆查看和用户交互命令
查看登录用户信息
w 用户名
命令输出:
USER:登录的用户名;
TTY:登陆终端;
FROM:从哪个IP地址登录;
LOGIN@:登陆时间;
IDLE:用户闲置时间;
JCPU:指的是和该终端连接的所有进程占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;
PCPU:是指当前进程所占用的时间;
WHAT:当前正在运行的命令
查询当前登录和过去登录的用户信息
last
last命令默认式读取/var/log/wtmp文件数据
命令输出
-用户名
-登录终端
-登录IP
-登陆时间
-退出时间(在线时间)
查看所有用户的最后一次登陆时间
lastlog
lastlog命令默认式读取/var/log/lastlog文件内容
命令输出
-用户名
-登陆终端
-登录IP
-最后一次登陆时间