看懂xshell
#!/bin/bash
#执行sh命令
chmod a+x .sh #赋权限
echo "welcome to bash"
printf
环境变量
cat /proc/$PID/environ
获取进程ID
pgrep
var=value赋值操作
与var = value相等操作
echo "this is sample text 2" >> tamp.txt
>会清空文件内容>>追加文本内容
cmd &> output.txt 将错误和输出整合到一个文件中
declare 声明
declare -A fruite_value
fruite_value=([apple]='aaa' [orange]='dddd')
alias别名
cat wenjain.txt | tr -s '\n'#去掉空行
cat -n wenjian.txt#显示行号
find /home -name "*.txt" -print
find . \( -name "*.txt" -o -name "*.pdf"\) -print
find /home -path "*.txt" -print#返回文件路径
-maxdepth 2 遍历深度
-type f 普通文件
l 符号链接
d 目录
c 字符设备
-perm 666 文件权限
-user slynux 用户所拥有的文件
-exec 执行
find . -type f -name "*.txt" -print0 | xargs -0 rm -f
tr 转换
校验与核实
md5sum shalsum
rename
if [ -e /home ]; then fi 判断文件是否存在
mkdir -p /home/test/hello/child 忽略已经存在的文件夹
文件权限所有权和粘滞位
chmod a+rwx
chattr
sudo chattr +i file 创建不可修改的文件
chattr -i file移除
touch in {1..100}.txt
do
touch $name
done
生成多个文件
diff -u 1.txt 2.txt > 3.txt
patch
head tail
tree -h 打印文件大小
grep -E "[a-z]+"
wget url
-t 5 重复的次数
--linit-rate 20k 限速
--quota或-Q 限制下载的大小
-c 从断点下载
--mirror 迭代下载
curl
-o写入文件
--silent 显示错误信息
--progress 显示进度
-I或-head 打印http的头部信息
tar
a
c创建文件
d打印出区别
r
u
x提取文件
f指定文件夹的名字
v打印文件权限所属文书修改时间
-c 指定提取文件的目录
rsync备份系统快照
-a 进行归档
-v 打印进度
ifconfig
echo ip symbolic >> /etc/hosts 域名解析
route add default gw ip interface_name设置默认网关
traceroute google.com
lftp username@ftphost:-> get filename 下载文件
put filename 上传文件
quit退出
du,df
ps是收集进程的重要工具
-f -e -ax
-o
pcpu cpu占用率
pid 进程id
ppid 父进程id
pmem 内存使用率
comm 可执行的文件名
cmd
user 启动进程的用户
nice 优先级
time 累计的cpu时间
etime 进程启动后度过的时间
euid 有效用户id
stat 进程状态
top
pgrep command -d delimiter_string
kill
-1 对控制的进程和终端挂起检测
-2 按下ctrl+c发起该信号
-9 强行杀死进程
-15 默认用于终止进程
-20 按下ctrl+z发起该信号