shell 指令
head test/1.txt 查看最前面 10 行
head -n 15 test/1.txt 查看 前15 行
tail test/1.txt 查看 最后 10行记录
tail -n 15 test/1.txt 查看最后15行记录
tail -f test/1.txt 查看实时记录
tailf test/1.txt 查看实时记录
grep
cut : cut 命令 只显示某一列的内容
wc 用来统计行 字符
sort 用来排序
man 是linux 的学习手册
q : 退出man 指令
设置别名 alias
取消别名 unalias
history : 查看所有指令 shell 总共有1004条指令
ls |xargs :
2> error.log :输出
> error.log : 输出
>> error.log : 追加
sleep 100 秒
ctrl+z 暂停 后台命令 并没有将进程杀死,fg 可以恢复它。
jobs:查看 后台命令: sleep 命令
fg 1 :恢复 1 sleep 命令
ctrl+z : 终止后台命令
[root@aliyun247 test]# hostname -i
10.173.54.46
[root@aliyun247 test]# sleep 100
^Z
[1]+ Stopped sleep 100
[root@aliyun247 test]# jobs
[1]+ Stopped sleep 100
[root@aliyun247 test]# sleep 200
^Z
[2]+ Stopped sleep 200
[root@aliyun247 test]# jobs
[1]- Stopped sleep 100
[2]+ Stopped sleep 200
[root@aliyun247 test]# fg1
-bash: fg1: command not found
[root@aliyun247 test]# fg 1
sleep 100
gf 2
^C
[root@aliyun247 test]# fg 2
sleep 200
^C
[root@aliyun247 test]# jobs
shell 变量
变量命名规则 字母,数字,下划线,数字不能开头
声明变量 a=1
用export 声明变量 全局有效: export a=1
查看变量 变量名称前加一个美元符号: echo $a
env: 打印出系统内置变量
set :列出系统变量
unset 取消一个变量: unset 变量名(注意变量名称前 不需要 美元符号)
反引号,单引号 ,双引号 的不同,单引号最严谨。
bash: 进入子shell文件 exit:退出子shell 文件
环境变量:
su -: 用户重新登录
特殊符号: * # \ | ; & > >> 2> ^c
指令:cut ,sort ,wc ,tr ,split
cut -d ':' -f 3 /etc/passwd
cut -d ':' -f 1-3 /etc/passwd
cut -d ':' -f 1,3 /etc/passwd
[root@aliyun247 test]# cut -c 1-10 /etc/passwd
root:x:0:0
bin:x:1:1:
daemon:x:2
adm:x:3:4:
lp:x:4:7:l
sync:x:5:0
cut -c 1-10 /etc/passwd
cut -c 1,10 /etc/passwd
[root@aliyun247 test]# cut -c 1-10 /etc/passwd
root:x:0:0
bin:x:1:1:
daemon:x:2
adm:x:3:4:
lp:x:4:7:l
sync:x:5:0
排序用法:
-n: 加上是按数字排序 ,不加是按ascii 码排序。
-r:
sort -t ":" -k3 /etc/passwd
sort -t ":" -k3 -n /etc/passwd
sort -t ":" -k3 -n /etc/passwd cut -d ':' -f 3
cut -d ':' -f 3 /etc/passwd |sort -nr|uniq
cut -d ':' -f 3 /etc/passwd |sort -nr|uniq -c;
wc : 统计 行数 字数 字节
wc 1.txt 输出: 29 39 1263 1.txt
wc -c 1.txt :统计文件 字节
wc -l 1.txt :统计文件 行
wc -w 1.txt :统计文件 字符
tr : 替换 |tr 'a-z' 'A-Z' :用大写替换小写
du -sh *
#查看所有的文件的大小
du -sh /etc/passwd
#查看一个文件的大小
输出内容如下: 4k /etc/passwd
du -sb /etc/passwd
#产看文件的大小 输出内容如下: 1216 /etc/passwd
for i in 'seq 1 10000';do cat /etc/passwd >>1.txt ;done :循环用法
split 切割
#切割一个文件 ,以文件大小 切分
split -l 100 1.txt
split -b 1m 1.txt
split -w 100 1.txt
split -l 2 1.txt :按行 将1.txt 文档拆分
mkdir test 创建一个目录
mv 移动文件 :mv 1.txt test/
特殊符 : ll , && 连接连个命令
cd /test && ls : 且: 先进入cd 命令 然后执行ls命令。如果第一个命令没有成功则不执行第二个命令
cd /test || ls : 或 : 执行cd 命令 或 ls 命令 。 第一个命令不成功才有机会执行第二个命令
shell 操作 交互式和非交互式
交互式: 操作员一条一条指令的输入,并按enter提交。
非交互式 是预先编写 shell脚本。千万条命令预先编写完成,然后直接执行脚本, 脚本文件需要一一个解释器逐行解释。
脚本创建过程?
1 理清任务 分解任务 2 考虑用脚本实现每个步骤 3 完善脚本
shell 编程
首先建一个shell 脚本的程序,vim 1.sh ,ok 1.sh 是文件编写代码的,vim 编辑文本文件,
sh 1.sh : 执行文件。
bash 1.sh : 执行文件
chmod a+x 1.sh :授权rootquanx
./1.sh :被授予root权限的文件 可以直接这样运行。
/root/1.sh : 全路径的方式执行 文件 。
接收从键盘输入:
--stdin
忽略无关输出:
/dev/null