Linux常用命令备忘

这是之前初学Linux时做下的常用命令笔记,根据现在的熟悉程度增删了一些,也是做上备份查看,希望能让有用的童鞋参考一二。

//将使用到的内容输出到屏幕,仅检查语法
sh -nx scripts.sh

//输出目前所有set设定值
echo $-

//列出最近n条命令
history -n
//默认写入~/.bash_history
history -raw histfiles

//忽略行中空白-空白行-大小写差异
//to-file可以用‘-’代替,为标准输入
diff -bBi from-file to-file

//列出所有位元不同点
cmp -l from-file to-file

//是否存在
test -e filename
//是否存在且为文件
test -f filename
//是否存在且为(首字母):directory, block device, character device, Socket, pipe, Link
//是否存在且具有权限:r,w,x,u,g,k(Sticky bit),s(非空)

//file1是否比file2新或旧
test file1 -nt/ot file2
//是否为同一文件,是否指向同一个iNode,用于判断hard link
test file1 -ef file2

//定义变量的类型为array,integer,envirnment,readonly
declare -aixr variable

//设置提示和等待的描述
read -p "This is hint" -t 30 variable

//不加参数,显示路径
//显示为file, alias, builtin
type -t name

//转换文本格式
iconv -f frommap -t tomap filename [-o newfile]

//间隔1秒,高亮显示过滤内容
watch -n 1 -d 'pstree | grep sys'

//查找特定进程
ps -ef | grep xxx
//观察系统所有进程
ps aux
//以树状展示
ps axjf

//统计目录下文件数(包含当前目录)
ls -l | wc -l

//从本地复制到服务器、-r递归目录
scp local_file remote_username@remote_ip:remote_folder/file

//显示仅使用TCP并处于监听状态的进程
ss -tpl
//显示Socket概况
ss -s

//显示使用TCP,处于监听状态的进程情况
netstat -apt
//显示网卡列表
netstat -i
//显示路由表的信息
netstat -r
//显示网络概况
netstat -s

//间隔2秒,TTL为255,ping 10次某网关
ping -c 10 -i 2 -t 255 -b 8.8.8.8

//列出用户为root,进程为mysql,使用TCP的文件信息
lsof -u root -c mysql -i tcp

//显示磁盘统计信息
vmstat -d
//显示内存统计信息等
vmstat -s

//停掉系统服务,重启;-h为关机;-c取消指令内容;
shutdown -r
//halt:停机,poweroff:关机,reboot:重启,suspend:休眠
systemctl reboot

//随机显示一个命令的man页
man $(ls /bin | shuf | head -1)

//以更易读的方式,显示文件系统inode的使用情况
df -hi

//以更易读的方式,显示多个文件的总和
du -sh text.txt text2.txt

//使test1.txt的时间戳和test2.txt的相同
touch -c test1.txt test2.txt

//强制,交互,若为则复制link file,文件属性
cp -pdfi from_file to_file

//使用ASCII,十进制,浮点数,八进制,十六进制输出文本
od [-cdfox] file_name
//读取最后10行的记录
tail -n 10 file_name
//输出除了最后10行的内容
head -n -10 file_name
//从第3行开始,每次输出2行
more +3 -2 file_name
//显示百分比,行号
less -mN file_name
//显示所有行号,合并空行,显示TAB
cat -nsT file_name

//A:存取文件(或目录)时,存取时间atime将不会被修改
//S:进行任何修改,会“同步”写入磁盘
//a:只能增加内容,不能删除和修改
//c:自动压缩
//d:不会被dump备份
//i:不能被删除,改名,设定link也不行
//s:删除后移出磁盘
//u:删除后保留在磁盘
chattr [+-=][ASacdistu] file_name


//寻找
whereis file_name
//忽略大小写,输出前5个
locate -il 5 file_name
//参数超级多:时间类型群组权限大小
//查找大文件
find . -type f -size +800M -print0 | xargs -0 du -mh | sort -nr
//查找大目录
du -hm --max-depth=2 | sort -nr | head -5
find -name t*.txt
//在PATH中寻找命令位置
which exc_name

//压缩:针对*.tar.gz
tar -zcvf file_name
//解压缩
tar -zxvf file_name
//查看包含内容
tar -ztvf file_name

//制作文件-备份
dd if="input_file" of="output_file" bs="block_size" count=“number”

相关推荐