Linux的基础命令
欢迎来到 来到大浪涛天的博客 !
1. alias 命令别名(alias)
通过alias命令实现:
- alias显示当前shell进程所有可用的命令别名;
- alias NAME='VALUE'
定义别名NAME,其相当于执行命令VALUE;
注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
Note: 编辑配置给出的新配置不会立即生效;
bash进程重新读取配置文件:
source /path/to/config_file
. /path/to/config_file
撤消别名:unalias
unalias [-a] name [name ...]
Note: 如果别名同原命令的名称,则如果要执行原命令,可使用"COMMAND";
2. bash的的I/O重定向及管道
程序:指令+数据
- 读入数据:Input
- 输出数据:Output
打开的文件都有一个fd: file descriptor (文件描述符),因为计算机只识别0和1
标准输入:keyborad, 0
标准输出:monitor, 1
标准错误输出:monitor, 2
I/O重定向:改变标准位置
输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS
>:覆盖重定向,目标文件中的原有内容会被清除;
>>: 追加重定向,新内容会追加至目标文件尾部;
# set -C: 禁止将内容覆盖输出至已有文件中;
强制覆盖:>|
# set +C:
2>: 覆盖重定向错误输出数据流;
2>>: 追加重定向错误输出数据流;
标准输出和错误输出各自定向至不同位置:
COMMAND > /path/to/file.out 2> /path/to/error.out
合并标准输出和错误输出为同一个数据流进行重定向:
&>:覆盖重定向
&>>:追加重定向
COMMAND > /path/to/file.out 2> &1
COMMAND >> /path/to/file.out 2>> &1
输入重定向:<
tr命令:转换或删除字符
tr [OPTION]... SET1 [SET2]
tr abc ABC < /etc/fstab (替换字符)
tr -d abc </etc/fstab(删除字符)
HERE Documentation:<<
# cat << EOF
# cat > /path/to/somefile << EOF
管道:
COMMAND1 | COMMAND2 | COMMAND3 |...
Note:最后一个命令会在当前shell进程的子shell进程中执行;
tee命令:
tee [OPTION]... [FILE]...
3. 文本处理工具:wc, cut, sort, uniq
3.1 wc命令:
wc [OPTION]... [FILE]...
-l: lines
-w: words
-c: characters
3.2 cut命令:
cut [OPTION]... [FILE]...
-d DELIMITER: 指明分隔符
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
--output-delimiter=STRING(默认输出的格式符和输入的格式符一致,但是我们可以更改)
[zjwh@izm5e88rg4xz5npd1tngcbz scripts]$ cat /etc/passwd |cut -d ":" -f1-3,4-5 --output-delimiter=' '
root x 0 0 root
3.3 sort命令:
sort [OPTION]... [FILE]...
-f: 忽略字符大小写
-r: 逆序
-t DELIMITER: 字段分隔符
-k #:以指定字段为标准排序
-n: 以数值大小进行排序
-u: uniq,排序后去重
3.4 uniq命令
uniq命令:
uniq [OPTION]... [FILE]...
-c: 显示每行重复出现的次数;
-d: 仅显示重复过的行;
-u: 仅显示不曾重复的行;
Note: 连续且完全相同方为重复