linux基础
帮助命令
man
(manual pages) 获取某个命令的说明和使用方式的详细介绍
man 命令名
man手册的内容很多,涉及了Linux使用过程中的方方面面,为了便于查找,man 手册被进行了分册(分区段)处理,手册通常被分为以下9个区段:
1 | Standard commands(标准命令) |
---|---|
2 | System calls(系统调用) |
3 | Library functions(库函数) |
4 | Special devices(设备说明) |
5 | File formats(文件格式) |
6 | Games and toys(游戏和娱乐) |
7 | Miscellaneous(杂项) |
8 | Administrative Commands(系统管理命令和守护进程) |
9 | other(其他,用来存放内核例行程序的文档) |
所有的手册页遵循一个常见的布局,一般包括以下部分内容:
1)手册名称与所在章节,如上图最上方的 LS(1),其中 LS 表示手册名称,(1)表示该手册位于第一章节。
2)NAME(名称):该命令或函数的名称,接着是一行简介。
3)SYNOPSIS(概要):对于命令,正式的描述它如何运行,以及需要什么样的命令行参数。对于函数,介绍函数所需的参数,以及哪个头文件包含该函数的定义。
4)DESCRIPTION(说明):命令或函数功能的文本描述。
5)EXAMPLES(示例):常用的一些示例。
6)SEE ALSO(参见):相关命令或函数的列表。
除以上内容外,不同命令存在其它部分内容,但这些部分没有得到跨手册页的标准化。
常见的例子有:OPTIONS(选项)、EXIT STATUS(退出状态)、ENVIRONMENT(环境)、BUGS(程序漏洞)、FILES(文件)、AUTHOR(作者)、REPORTING BUGS(已知漏洞)、HISTORY(历史)、COPYRIGHT(版权)等,大家了解一下即可。
man设置了如下的功能键:
功能键 | 功能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出man命令 |
h | 列出所有功能键 |
/word | 搜索word字符串 |
info
如果觉得 man 显示的信息都还不够,满足不了需求,那么可使用 info 命令来获取帮助。
info 来自自由软件基金会的 GNU 项目,是 GNU 的超文本帮助系统,能够更完整的显示出 GNU 信息。
man 和 info 就像两个集合,它们有一个交集部分,但与 man 相比,info 工具可显示更完整的 GNU 工具信息。
help
help命令用于显示shell内部的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。
命令名 --help
文件搜索命令
find
作用: find命令用来进行文件搜索,其功能十分强大,但由于搜索很占系统资源,建议尽量少使用find命令来执行搜索任务。在使用find命令时,应该尽可能缩小搜索范围,避免服务器使用高峰期进行文件搜素。综上所述,在整理Linux文件时,尽可能保证规范化,提前规划好文件的存放目录。
搜索方法
- 根据文件或者目录名称搜索
find[搜索目录] [-name/-iname][搜索字符]
-name区分大小写
-iname不区分大小写
#找当前目录下的文件
yao@ubuntu:~$ find /home -name demo.txt
/home/yao/Desktop/mainfile/demo.txt
#搜索所有txt,正则
yao@ubuntu:~$ find /home -name *txt
/home/yao/Desktop/mainfile/file1/demo.txt
/home/yao/Desktop/mainfile/file2/demos.txt
/home/yao/Desktop/mainfile/demo.txt
模糊搜索:*/?
根据文件大小搜索
find [搜索目录] -size +n/-n/n 大于/小于/等于 n
根据所有者或者所属组搜索
find [目录名] user
find [目录名] group
locate
**作用:**在文件资料库中查找文件
locate [文件名]
yao@ubuntu:~$ locate mainfile
/home/yao/Desktop/mainfile
/home/yao/Desktop/mainfile/demo.txt
/home/yao/Desktop/mainfile/file1
/home/yao/Desktop/mainfile/file2
/home/yao/Desktop/mainfile/file3
/home/yao/Desktop/mainfile/file1/demo.txt
/home/yao/Desktop/mainfile/file2/demos.txt
locate命令和find命令的区别:
find命令是全盘检索。
locate是在文件资料库中进行搜索。
因此,locate命令的执行速度比find快。这里 需要注意的是,文件资料库是需要不断更新的。我们新建的文件如果不更新文件资料库,就无法使用locate查询。
手动更新资料库,我们可以使用updatedb命令,但对于/tmp目录下的新建文件,是无法更新的,因为/tmp目录不属于文件资料库的收录范围。
yao@ubuntu:~$ locate uncity#刚刚新建如果没有重启终端,会找不到
yao@ubuntu:~$ sudo updatedb
[sudo] password for yao:
yao@ubuntu:~$ locate uncity
/home/yao/Desktop/uncity
/home/yao/Desktop/uncity/uncity1
/home/yao/Desktop/uncity/uncity2
which
**作用:**搜索命令所在的目录以及别名信息
which [命令]
yao@ubuntu:~$ which ls
/bin/ls
whereis
**作用:**搜索命令所在目录及帮助文档的路径
whereis [命令]
yao@ubuntu:~$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
压缩解压命令
gzip命令
作用:(GNU zip)压缩文件,文件拓展名为.gz
gzip [文件名]
yao@ubuntu:~/Desktop/ZipDemo$ touch demo
yao@ubuntu:~/Desktop/ZipDemo$ gzip demo
#原文件变成了demo.gz,不再原目录保存原文件
yao@ubuntu:~/Desktop/ZipDemo$ gzip file
gzip: file is a directory -- ignored
#只能压缩文件不能压缩目录
gunzip命令
作用:(GNU unzip)解压.gz格式文件
gunzip [压缩文件名]
yao@ubuntu:~/Desktop/ZipDemo$ gunzip demo.gz
#拓展名.gz可以不打出来,将对于文件解压
tar 命令
**作用:**将文件压缩为.tar.gz格式
tar [选项][压缩后的文件名]目录
选项说明:
-c: 打包
-v: 显示详细信息
-f: 指定文件名
-z: 打包文件同时压缩文件
解压
格式
tar 选项[.tar.gz格式文件][指定解压后文件存放目录,默认为当前目录]
选项说明:
-x:解包
-v:显示详细信息
-f:指定解压文件
-z:解压缩
yao@ubuntu:~/Desktop/ZipDemo$ tar -zcvf file.tar.gz file
#在当前目录下创建一个file.tar.gz,为file的压缩,file依然存在
yao@ubuntu:~/Desktop/ZipDemo$ rmdir file
#删除这个空的file
yao@ubuntu:~/Desktop/ZipDemo$ tar -zxf file.tar.gz
#解压file.tar.gz,原文件依然存在
zip命令
**作用:**将文件或者目录压缩为.zip格式
zip [-r] [压缩后文件名] 要压缩的文件或者目录
ao@ubuntu:~/Desktop/ZipDemo$ zip demo.zip demo
adding: demo (stored 0%)
#生成一个demo.zip,内有一个demo文件
-r:压缩目录及目录内的所有文件(夹)
unzip 解压
unzip [.zip格式拓展名]
yao@ubuntu:~/Desktop/ZipDemo$ unzip demo.zip
Archive: demo.zip
Archive: demo.zip
replace demo? [y]es, [n]o, [A]ll, [N]one, [r]ename:
#返回一个可以多项操作的语句
bzip2
**作用:**将文件压缩为.bz2格式
**注意:**只能压缩文件
bzip2[/-k]文件
yao@ubuntu:~/Desktop/ZipDemo$ unzip demo.zip
Archive: demo.zip
#生成一个demo.bz2,内有一个demo文件
-k:保留原文件
unbzip2
**作用:**解压.bz2格式的文件
unbzip2[/-k]文件
系统管理命令
date
显示日期时间
yao@ubuntu:~$ date
Thu Aug 8 13:38:06 CST 2019
yao@ubuntu:~$ date '+%Y-%m-%d %H:%M:%S'#格式化时间
2019-08-08 13:39:07
format格式 | 含义 |
---|---|
%Y,%y | 年 |
%m | 月 |
%d | 日 |
%H | 时 |
%M | 分 |
%S | 秒 |
cal
显示日历
yao@ubuntu:~$ cal
August 2019
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
yao@ubuntu:~$ cal -y #显示全年日历
ps
查看进程的信息情况,常用选项
选项 | 作用 |
---|---|
-a | 显示终端上所有的进程(包括其他用户的进程) |
-u | 显示进程的详细状态 |
-X | 显示没有控制终端的进程 |
-r | 显示正在运行的进程 |
-w | 显示加款,以便显示更多的信息 |
sudo reboot
重启
sudo shutdown
关机
shutdown
shutdown -r /-h 14:20
在指定时间重启/关机
init
init 0 关机
init 6 重启
检测磁盘空间
df
sudo df -m
选项 | 作用 |
---|---|
-a | 显示所有文件系统的磁盘使用情况 |
-m | 以1024字节为单位显示 |
-t | 显示各指定文件系统的磁盘使用情况 |
-T | 显示文件系统 |
yao@ubuntu:~$ sudo df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 991272 0 991272 0% /dev
tmpfs tmpfs 202712 6360 196352 4% /run
/dev/sda1 ext4 18447100 4475196 13011804 26% /
tmpfs tmpfs 1013544 280 1013264 1% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
tmpfs tmpfs 1013544 0 1013544 0% /sys/fs/cgroup
tmpfs tmpfs 202712 64 202648 1% /run/user/1000
进程终止
kill
kill [signal] pid
signal : 信号值0-15,
yao@ubuntu:~$ sudo df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
udev devtmpfs 991272 0 991272 0% /dev
tmpfs tmpfs 202712 6360 196352 4% /run
/dev/sda1 ext4 18447100 4475196 13011804 26% /
tmpfs tmpfs 1013544 280 1013264 1% /dev/shm
tmpfs tmpfs 5120 4 5116 1% /run/lock
tmpfs tmpfs 1013544 0 1013544 0% /sys/fs/cgroup
tmpfs tmpfs 202712 64 202648 1% /run/user/1000
#### 进程终止
##### kill
```shell
kill [signal] pid
signal : 信号值0-15,
9表示绝对终止,用来终止一般信号无法终止的进程