Table of Contents
- 对输出文件进行各种排序
- Linux下查看文件和文件夹大小
- 删除当前文件夹下所有 .DS_Store 及 ._.DS_Store
- 查看 Linux 版本系统信息
- 查看现在使用的是哪一个 shell
- 修改 login shell
- 快速返回到上一个目录
- 关于 export C
- 查看本机最常用的 10 条命令
- 获取一个字符串的长度
- 统计当前目录下(包括子目录)以 .py 结尾文件的个数及总代码行数
- 输出错误重定向
- Show number of connections per remote IP
- 以 root 身份执行上一条命令
- 开启一个 Web 服务器(传输)
- vim 里强制保存
- 替换上条命令的关键字并执行
- 复制一个备份文件
- 搜索最近一条符合关键字的命令
- 给远程机器添加公钥认证
- 快速清空 arp 缓存表
- 检查硬盘是 HDD 还是 SSD
- 踢用户
- Linux 上对图片进行压缩
对输出文件进行各种排序
ls -ltr
按照字符序(default)
ls -l
按照修改时间排序
最近修改在最上面
ls -t
逆排序
ls -r
Linux下查看文件和文件夹大小
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。
du可以查看文件及文件夹的大小。
df 命令可以显示目前所有文件系统的可用空间及使用情形
df -h
du 查询文件或文件夹的磁盘使用空间
du -h --max-depth=1 work/testing
删除当前文件夹下所有 .DS_Store
及 ._.DS_Store
find ./ -name "*.DS_Store" -depth -exec rm {} \;
推荐方法
find ./ -name "*.DS_Store" -depth -delete
查看 Linux 版本系统信息
查看版本当前操作系统内核信息
uname -a
查看当前操作系统版本信息
cat /proc/version
查看版本当前操作系统发行版信息
cat /etc/issue
或
cat /etc/redhat-release
查看 CPU 相关信息,包括型号、主频、内核信息等
cat /proc/cpuinfo
查看版本说明当前 CPU 运行在 32bit 模式下, 但不代表 CPU 不支持64bit
getconf LONG_BIT
查看现在使用的是哪一个 shell
echo $0
修改 login shell
chsh
快速返回到上一个目录
有时候移到一个目录, 想直接返回去
cd -
关于 export C
建议在脚本开始处加上 export C
,且如果 man 手册乱码,也可以:
export C man xxx
查看本机最常用的 10 条命令
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
获取一个字符串的长度
三种方法:
len `expr length $str` echo ${str} | wc -L echo ${str} # 推荐
统计当前目录下(包括子目录)以 .py
结尾文件的个数及总代码行数
文件个数:
find . -name "*.py" | wc -l
单个文件代码行数及总行数:
find . -name "*.py" | xargs wc -l
输出错误重定向
ls 1>/dev/null 2>/dev/null ls >/dev/null 2>&1
Show number of connections per remote IP
netstat -antu | awk '$5 ~ /[0-9]:/{split($5, a, ":"); ips[a[1]]++} END {for (ip in ips) print ips[ip], ip | "sort -k1 -nr"}'
以 root 身份执行上一条命令
sudo !!
开启一个 Web 服务器(传输)
python -m SimpleHTTPServer
- -m 表示找到模块, 执行相应的
.py
文件 - SimpleHTTPServer 是一个 Http Server 模块
vim 里强制保存
有时候, 一些文件编辑后, 才发现只有root可写
:w !sudo tee %
替换上条命令的关键字并执行
将上一条命令的 ping 换成 traceroute
^ping^traceroute^
复制一个备份文件
有时候, 为了测试, 为防止意外, 可能需要把 filename 在备份一个 filename.bak
cp filename{,.bak}
搜索最近一条符合关键字的命令
比如上面执行过命令是 ping example.com, 想再执行, 可以
!p
p是关键字, 也可以 pi, pin, ping都行
给远程机器添加公钥认证
ssh-copy-id user@host
ssh-copy-id 会自动把公钥添加到 ~/.ssh/authorized_keys
末尾。
如果 ssh-add -L 里面有内容,会优先使用里面的公钥; 其次,可以用 -i 指定要添加的公钥,最后会用默认的 ~/.ssh/id_rsa.pub
MacOS 默认没有 ssh-copy-id 命令, 使用 brew install ssh-copy-id
安装
快速清空 arp 缓存表
for a in `arp | grep "eth1" | cut -d " " -f1`; do arp -d $a; done
检查硬盘是 HDD 还是 SSD
cat /sys/block/sda/queue/rotational
输出 1 则是 HDD, 输出 0 则是 SSD
踢用户
pkill -kill -t pts/2