哈喽,大家吼!昨天发布了Linux常用命令后犹豫要不要总结一些高阶命令,想来想去不太喜欢做事卡一半的感觉,嘿嘿所以又出了一篇,有朋友需要常用命令的看上一篇。
Linux常用命令指路:Linux 常用命令-CSDN博客
管道符
语法
// A 的输出作为 B 的输入,B 的输出作为 C 的输入
命令A | 命令B | 命令C
// 查看 passwd 文件前 5 行的信息,并编号
cat -n /etc/passwd | head -5
/* cat -n /etc/passwd的输出是将标好行号的 passwd 文件内容显示在屏幕上,
** 将这个输出作为 head -5 的输入,即将标好行号的 passwd 文件内容显示前 5 行。
*/
// 逐页显示当前目录下的文件和目录的详细信息
ls -l | more
/* ls -l 以长格式输出当前目录下的文件详情
** 再以 more 的形式输出
*/
tr 命令:转换形式
bc命令:将文本做运算(文本中必须包含有运算符)
echo : 将后面跟着的内容输出到屏幕上
// 将/etc/issue 的文件内容 ,进⾏转化为⼤写 ,保存到/tmp/issue.out
// 1.查看 /etc/issue
cat /etc/issue
// 2.⼩写转⼤写
cat /etc/issue | tr [a-z] [A-Z]
// 3.保存到/tmp/issue.out
cat /etc/issue | tr [a-z] [A-Z] >/tmp/issue.out
// 计算1+2
// 1.输出1+2
echo 1+2
// 2.计算输出内容
echo 1+2 | bc
// 计算 1 加到 100
// 1.输出 1 到 100
echo {1..100}
// 2.由于输出的数字以空格分隔,所以用"+"替代空格
echo {1..100} | tr ' ' '+'
// 3.计算内容
echo {1..100} | tr ' ' '+' | bc
重定向
重定向主要包括两种类型:输出重定向和输入重定向。输出重定向又分为 标准覆盖输出重定向、 标准追加输出重定向、 错误覆盖输出重定向、 错误追加输出重定向。( ' < ' ' > ' 表示流向)输入 : 键盘 > 程序系统输入重定向 : 默认数据流向某个程序,改变数据流向 ,将数据内容导入到其他命令输出 : 程序系统 > 屏幕输出重定向 : 默认数据流向屏幕,改变数据流向,导入其他命令或者文件
标准(覆盖/追加)输出重定向
// 以覆盖的形式,覆盖文件内原有内容
命令 >file
命令 1>file
// 以追加的形式,在文件内原有内容基础上追加信息
命令 >>file
命令 1>>file
错误(覆盖/追加)输出重定向
前面加2,则代表只有错误的信息才可以被写到目标文件中,正确的信息不能被写到目标文件中。
命令 2>file // 以覆盖的形式
命令 2>>file // 以追加的形式
错误和正确同时存在
将正确信息和错误信息同时保存
命令 >file 2>&1 // 以覆盖的形式,将命令的正确和错误输出结果都输出到⽂件中
命令 >>file 2>&1 // 以追加的形式,将命令的正确和错误输出结果都输出到⽂件中
将正确信息和错误信息分开保存
// 以覆盖的形式,将命令的正确输出结果输出到file_1⽂件中,错误信息输出到file_2
命令 >file_1 2>file_2
// 以追加的形式,将命令的正确输出结果输出到file_1⽂件中,错误信息输出到file_2
命令 >>file_1 2>>file_2
不想将输出结果显示到屏幕上,又不想保存到文件中,删除
命令 >/dev/null
输入重定向
正常流向 : 键盘 > 命令
输入重定向 : 不再使用键盘作为命令来源 , 使用文件的内容作为命令的来源。
// 使⽤⽂件的内容作为命令的输⼊
命令 < file
// 从键盘读取数据,当遇到分界符 end 时停⽌
命令 << end
// 将 file1 的内容作为输⼊到命令,将命令的返回结果重定向到 file2 中
命令 <file1 >file2
补充一个比较有意思的
xargs:将文本内容转化为命令参数,通过这个命令,我们可以完成以下操作:
// 1.创建一些测试文件 file1.txt file2.txt file3.txt 后,给它们各自写一些内容
echo "This is file1" > file1.txt
echo "This is file2" > file2.txt
echo "This is file3" > file3.txt
// 2.创建 filenames.txt 后,存放三个文件名
echo -e "file1.txt\nfile2.txt\nfile3.txt" > filenames.txt
// 使用重定向将 filenames.txt 的内容传给 cat 命令 并使用 xargs 将文本内容转化为命令参数
xargs cat < filenames.txt
// 就会出现以下内容
This is file1
This is file2
This is file3
wc 统计内容
语法
wc [选项] [⽂件名]
常用选项
-
-w 统计字数(单词数),以空格或换行符为单词分隔符。
-
-c 统计字节数,在UTF-8编码⽂件中,这通常等同于字符数。
-
-m 统计字符数。
-
-l 统计行数。
-
-L 显示最长的一行的长度(字符数),相当于统计列数。
// 统计/bin 下⼀共有多少命令
ls /bin | wc -l
alias 别名
别名 :你为命令指定的新名称。
原命令 :你希望别名代表的原始命令,可以包含选项和参数。
alias 命令只局限于本次登录时的操作 ,如果想要永久生效,需要进入用户的家目录下,
bash 初始化文件中定义。.bashrc中存放了永久生效的别名。
语法
alias [别名]=[原命令] // '='两边无空格
用法
// 创建别名
alias del='rm -rf' // 该别名将 del 定义为执行 rm -rf 命令,强制递归删除文件或目录
// 查看所有已定义的别名
alias
//查看特定别名
alias ls // 查看 ls 的定义
// 取消别名
unalias del
// 删除所有别名
unalias -a
// 临时禁用别名
\ls // ls 实际上为'ls --color=auto'的别名 这条命令临时取消了自动着色的功能
在定义别名时,尽量不要覆盖系统中常用命令的原始功能,否则可能引发混淆。
例如,避免直接将 alias rm='rm -f' 这样的命令覆盖原始 rm ,防止误操作。
绝对路径优先级高于别名高于系统变量
gzip tar 压缩归档
把许多文件合成一个文件叫做归档,归档本身不对文件进行压缩。压缩是对文件进行编码以减少其占用的存储空间。
压缩归档的过程就是先使用工具将文件打包成一个文件(归档),然后对归档文件进行压缩,生一个更小的压缩文件。
常用的压缩工具有:
gzip:生成 .gz 文件
bzip2:生成 .bz2 文件
xz:生成 .xz 文件
tar 归档
常用参数
-
-c :创建归档文件。
-
-x :解压归档文件。
-
-z :使用 gzip 压缩或解压。
-
-j :使用 bzip2 压缩或解压。
-
-v :显示详细操作过程。
-
-f :指定归档文件的名称。
-
-k :解压时保留原文件,不覆盖同名文件。
gzip 压缩
-
参数解压:-d
-
命令解压:gunzip
// 压缩
gzip file
// 解压
gzip -d file.gz //参数解压
gunzip file.gz //命令解压
bzip2 压缩
-
参数解压:-d
-
命令解压:bunzip2
// 压缩
bzip2 file2
// 解压
bzip2 -d file2 // 参数解压
bunzip2 file.bz // 命令解压
两种解压方式需对应同类型的压缩文件,不能交叉使用!
应用
// 将所有文件归档,形成 all.tar 文件
tar -cf all.tar *
// 将全部格式为 .jpg 的文件归档并压缩
// 方法一
tar -cf picture.tar *.jpg
gzip picture.tar
// 方法二
tar -zcvf picture.tar.gz picture.tar
// 解压归档
// gzip压缩的文件
tar -zxf picture.tar.gz
// bzip2压缩的文件
tar -jxf 111.tar.bz2
// 万能解压
tar -xf 222.ar.gz
tar -xf 111.ar.bz2
VIM 编辑器
Vim(Vi IMproved)是 Linux 和 Unix 系统中常用的文本编辑器之一。
VIM 的工作模式
VIM 有三种主要的工作模式:
1. 命令模式/正常模式:
可以在该模式下进行光标移动、复制、粘贴、删除等操作。
进入 VIM 后首先是处于正常模式。
-
输入"vim" 默认进入的模式,按 Esc 键退出命令模式。
-
x:删除当前光标所在的字符。
-
dd:删除当前行。
-
dw:删除当前单词。
-
u:撤销上⼀次的操作。
-
yy:复制当前行。
-
p:粘贴被复制的内容。
-
r:替换当前字符。
-
cw:替换当前单词(从光标位置到单词结尾)。
-
h、j、k、l:分别向左、下、上、右移动光标(等效于⽅向键)。
-
gg:移动到文件的第一行。
-
G:移动到文件的最后一行。
-
0 :移动到行首。
-
$ :移动到行尾。
-
w:移动到下一个单词的开头。
-
b:移动到前⼀个单词的开头。
2. 插入模式/输入模式:
可以在该模式下输入文本,键盘的输入会直接插入到文件中。
-
按键 i 或 a 从正常模式进入插入模式,按 i(在光标前插入)、 a(在光标后插入)、 o(在下一行插入)。按 Esc 键退出插入模式。
3. 末行模式:
在该模式下可以输入命令(如保存、退出、查找等)。
-
" : " 从正常模式进入末行模式。
-
q :退出末行模式。
-
w :保存。
-
!:强制执行。
-
/ :查找文本。后跟查找内容,n 移动到下一个匹配项,N 移动到上一个匹配项。
-
s/old/new/ :替换文本。将 old 替换为 new。
可视模式
- v:进入可视模式,用于选择文本块。
- V:选择整行。
- Ctrl + v:进入块选择模式(列选择模式),可选择文本的块区域。
- 选择文本后,可以对其执行删除( d )、复制( y )、粘贴( p )等操作。
撤销:在正常模式下按 u 。重做:在正常模式下按 Ctrl + r 。
总结完毕,感谢阅读~