Linux
文件查看命令汇总
cat
连续查看一整个文件,可以通过-n选项显示行号
nl
查看文件并显示行号,如果没有文件名则读取输入并打印
more
分页查看文件:
- Enter 向下n行,需要定义,默认为1行
- Ctrl f 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl b返回上一屏
- = 显示当前行号
less
分页查看文件,但相比于more命令。翻页会更加灵活
head
查看文件的开头,可以通过-n number来指定查看的行数;
tail
查看文件的结尾,可以通过-n number来指定查看的行数;
sed
Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
参数说明:
- -e
动作说明:
- a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
- c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
- d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
- i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
- p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
- s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法
文件内容查看
wc命令 :
wc [options] [file]
- -c 统计字节数
- -l 统计行数
- -w 统计字数
- -m 统计字符数
文件打包命令汇总
tar命令
tar命令用于备份文件,tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。常用于压缩或解压文件
常用参数:
- -f<备份文件>或–file=<备份文件> 指定备份文件
- -v或–verbose 显示指令执行过程
- -x或–extract或–get 从备份文件中还原文件
- -z或–gzip或–ungzip 通过gzip指令处理备份文件
- -c或–create 建立新的备份文件
- -t或–list 列出备份文件的内容
#压缩文件命令
tar -cxvf file
#解压文件命令
tar -zxvf file
gzip命令
gzip命令用于压缩文件,gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名。
gzip [options] [file…]
常用参数:
- -d或–decompress或----uncompress 解开压缩文件
- -l或–list 列出压缩文件的相关信息
- -v或–verbose 显示指令执行过程
- -f或–force 强行压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
文件搜索命令
find命令
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
find path -option [ -print ] [ -exec -ok command ] {} ;
command可以是需要执行的命令
常用参数:
- -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
- -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
- -type c : 文件类型是 c 的文件。d: 目录;c: 字型装置文件;b: 区块装置文件;p: 具名贮列;f: 一般文件;l: 符号连结;s: socket
- -amin n : 在过去 n 分钟内被读取过
- -anewer file : 比文件 file 更晚被读取过的文件
- -atime n : 在过去 n 天内被读取过的文件
- -cmin n : 在过去 n 分钟内被修改过
- -cnewer file :比文件 file 更新的文件
- -ctime n : 在过去 n 天内创建的文件
- -mtime n : 在过去 n 天内修改过的文件
- -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
- -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
which命令
Linux which命令用于查找文件。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
常用参数:
- -n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
- -p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
- -w 指定输出时栏位的宽度。
whereis命令
Linux whereis命令用于查找文件。该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
常用参数:
- -b 只查找二进制文件。
- -B<目录> 只在设置的目录下查找二进制文件。
- -f 不显示文件名前的路径名称。
- -m 只查找说明文件。
- -M<目录> 只在设置的目录下查找说明文件。
- -s 只查找原始代码文件。
- -S<目录> 只在设置的目录下查找原始代码文件。
- -u 查找不包含指定类型的文件。
locate命令
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
常用参数:
- -i, --ignore-case – 忽略大小写
- -n – 至多显示 n个输出。
- -c, --count – 只输出找到的数量
- -b, --basename – 仅匹配路径名的基本名称
locate命令和find命令的区别:
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:updatedb
grep命令
Linux grep 命令用于查找文件里符合条件的字符串。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
常用参数:
- -i 或 --ignore-case : 忽略字符大小写的差别。
- -v 或 --invert-match : 显示不包含匹配文本的所有行。即反向查找
- -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。即递归查询目录
文件链接
linux文件链接又可分为两种 : 硬链接与软链接,硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间;
硬链接和软链接的区别:
- 硬链接不允许给目录创建,但软链接可以;
- 硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统;
- 硬链接,以文件副本的形式存在;软链接,以路径的形式存在;
ln命令
ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间
ln [参数] [源文件或目录] [目标文件或目录]
常用参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
ln -s 1.txt tt #为1.txt创建一个软链接
lrwxrwxrwx 1 root root 5 Jul 19 05:14 tt -> 1.txt #tt链接到1.txt文件
ln 1.txt 4.txt #为1.txt创建一个硬链接
-rw-r--r-- 2 root root 224 Jul 19 05:22 4.txt
黑洞文件和终端文件
黑洞文件,存在于路径/dev/null下,它的作用是无论放多少文件到该文件中,都会被自动删除,常常将无用的日志文件放到黑洞文件中
0用户的输入内容
1代表的意义是成功在命令行内执行的内容
2代表的意义是在命令行内执行失败的内容
&可以让任务在后台运行
&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
>代表重定向到的位置
1>/dev/null 2>/dev/null
>/dev/null 2>&1 & #&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
终端文件,终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备,在路径/dev/tty下,可以通过命令tty查看当前终端是什么,一般有控制终端,串口终端,虚拟终端,控制台终端
任务调度命令
fg/bg命令
fg:把后台任务调到前台执行
bg:把停下的后台任务在后台执行起来
kill命令
Linux kill 命令用于删除执行中的程序或工作。kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 jobs 指令查看。
常用参数:
- 1 (HUP):重新加载进程。
- 9 (KILL):杀死一个进程。
- 15 (TERM):正常停止一个进程
- -l <信息编号> 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
linux磁盘管理命令
df命令
df命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计
常用参数:
-
文件-a, --all 包含所有的具有 0 Blocks 的文件系统
-
文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的…)
-
文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
-
文件-i, --inodes 列出 inode 资讯,不列出已使用 block
du命令
Linux du命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。
常用参数:
- -s或–summarize 仅显示总计。
- -m或–megabytes 以1MB为单位。
- -h或–human-readable 以K,M,G为单位,提高信息的可读性。
- -b或-bytes 显示目录或文件大小时,以byte为单位。
- -a或-all 显示目录中个别文件的大小。
- -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。即只显示目录文件,
du和df的区别:
df显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统,du显示目录或文件的大小,即df命令获得真正的文件系统数据,而du命令只查看文件系统的部分情况。
linux网络管理命令
netstat命令
Linux netstat 命令用于显示网络状态,利用 netstat 指令可让你得知整个 Linux 系统的网络情况。
常用参数:
-
-A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址
-
-a或–all 显示所有连线中的Socket
-
-p或–programs 显示正在使用Socket的程序识别码和程序名称
-
-r或–route 显示Routing Table
-
-t或–tcp 显示TCP传输协议的连线状况
-
-u或–udp 显示UDP传输协议的连线状况
-
-n或–numeric 直接使用IP地址,而不通过域名服务器
-
-i或–interfaces 显示网络界面信息表单
-
-s或–statistics 显示网络工作信息统计表
ifconfig命令
Linux ifconfig命令用于显示或设置网络设备,ifconfig可设置网络设备的状态,或是显示目前的设置
常用参数:
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- down 关闭指定的网络设备。
- up 启动指定的网络设备。
- [IP地址] 指定网络设备的IP地址。
- [网络设备] 指定网络设备的名称。
- netmask<子网掩码> 设置网络设备的子网掩码。
- <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
ping命令
Linux ping 命令用于检测主机,执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
常用参数:
- -c <完成次数> 设置完成要求回应的次数
- -i<间隔秒数> 指定收发信息的间隔时间
- -v 详细显示指令的执行过程
- -s<数据包大小> 设置数据包的大小
- -l<前置载入> 设置在送出要求信息之前,先行发出的数据包
使用 kill -l 命令列出所有可用信号
ip命令
Linux ip 命令与 ifconfig 命令类似,但比 ifconfig 命令更加强大,主要功能是用于显示或设置网络设备。
ip 命令是 Linux 加强版的的网络配置工具,用于代替 ifconfig 命令。
ip [ OPTIONS ] OBJECT { COMMAND | help }
command表示要执行的操作,与ifconfig操作命令相似;
常用对象:
- link:网络设备
- address:设备上的协议(IP或IPv6)地址
- addrlabel:协议地址选择的标签配置
- route:路由表条目
- rule:路由策略数据库中的规则
常用参数:
- -s:输出更详细的信息;
- -f:强制使用指定的协议族;
- -4:指定使用的网络层协议是IPv4协议;
- -6:指定使用的网络层协议是IPv6协议;
- -0:输出信息每条记录输出一行,即使内容较多也不换行显示;
- -r:显示主机时,不使用IP地址,而使用主机的域名。
route命令
用法:route [-nNvee] [-FC][]列出内核路由表
route [-v] [-FC] {add|del|flush}…修改路由表
awk命令
基本用法:
awk ‘{[pattern] action}’ {filenames} # 行匹配语句 awk ‘’ 只能用单引号
更多用法:https://www.runoob.com/linux/linux-comm-awk.html
其他常见问题:
如果一个Linux新手想要知道当前系统支持的所有命令的列表,他需要怎么做?
答: 使用命令compgen -c,可以打印出所有支持的命令列表。
当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?
答: 可以使用bind 命令,bind可以很方便地在shell中实现宏或按键的绑定。
哪一个bash内置命令能够进行数学运算?
答: let 可以进行整型数的数学运算
bash shell中的hash命令有什么作用?
答: hash管理着一个内置的哈希表,记录了已执行过的命令的完整路径,用该命令可以打印出你所使用过的命令以及执行的次数。
数据字典属于哪一个用户的?
答: 数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的