首页 > 代码库 > Linux常用脚本命令总结
Linux常用脚本命令总结
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><body>
基本操作
通用操作
1. export
export # 显示所有echo $SHELL # 只显示SHELL
2. whereis
whereis python # 如果搜不到就不输出
3. which
which python # 如果搜不到就不输出
4. clear
文件操作
5. ls
ls # 显示当前目录下非隐藏文件与目录ls -a # 显示当前目录所有文件与目录(包括非隐藏)ls -lh # 列出可读文件和文件夹详细信息ls -lt # 按最后修改时间列出文件和文件夹详细信息ls -ltr # 以最后修改时间反序列出文件和文件夹详细信息ls -F # 在每个输出项后追加文件的类型标识符
6. touch
7. cat
cat file1 file2 # 同时打印file1和file2的内容cat -n file1 # 在每行的前面加上行号cat -n file1 file2 > file3 # 将同时打印file1和file2的内容合并到file3中
8. more
more -dc file # 显示文件file的内容,但在显示之前先清屏more -c -10 file # 显示文件file的内容,每10行显示一次,而且在显示之前先清屏
9. head
head -n10 file # 指定显示头部内容的行数head -c10 file # 指定显示头部内容的字符数
10. tail
tail file (显示文件file的最后10行) tail -n20 file (显示文件file的最后20行) tail +20 file (显示文件file的内容,从第20行至文件末尾) tail -c 10 file (显示文件file的最后10个字符)
11. mv
mv file1 file2 # 将file1命名为file2mv /uer/* . # 将user目录中的文件移动到当前目录下
12. cp
cp -p file1 file2 # 拷贝文件1到文件2,并保持文件的权限、属主和时间戳cp -i file1 file2 #拷贝file1到file2,如果file2存在会提示是否覆盖cp -r /usr/men /usr/zh # 将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
13. rm
rm -i file # 删除文件前先确认rm -r * # 删除当前目录下的所有文件和子目录
14. diff
diff -w file1 file2 # 比较的时候忽略空白符
15. chmod
chmod ug+rwx file.txt # 给指定文件的属主和属组所有权限(包括读、写、执行)chmod g-rwx file.txt # 删除指定文件的属组的所有权限chmod -R ug+rwx dict # 修改目录的权限,以及递归修改目录下面所有文件和子目录的权限
16. gzip
gzip filename # 压缩文件gzip dict # 压缩目录下的文件gzip -d filename # 解压
17. gunzip
gzip –d /opt/etc.zip.gz | gunzip /opt/etc.zip.gz # 解压当前目录,效果相同gzip -l /opt/etc.zip.gz # 查看上述etc.zip.gz文件的压缩信息。
19. lpr
lpr -P lp man1 man2 # 将man1和man2送到打印机lp进行打印(-P指定接受打印任务的目标打印机)
20. lpq
21. lprm
文本操作
22. awk
awk ‘BEGIN{ print "start" } pattern{ commands } END{ print "end" }‘ file
23. grep
grep -i "the" demo_file # 在文件中查找字符串(不区分大小写)grep -A 3 -i "example" demo_text # 输出成功匹配的行,以及该行之后的三行grep -r "ramesh" * #在当前目录中递归查询包含指定字符串的文件
24. wc
25. sed
26. sort
#将CC列数字从大到小顺序排列:# sort -nrk 3 -t: sort.txt eee:40:5.4 eee:60:5.1 ddd:20:4.2 ccc:50:3.3 bbb:10:2.5 aaa:30:1.6 AAA:BB:CC# 只针对公司英文名称的第二个字母进行排序,如果相同的按照员工工资进行降序排序:$ sort -t ‘ ‘ -k 1.2,1.2 -nrk 3,3 facebook.txt baidu 100 5000 google 110 5000 sohu 100 4500 guge 50 3000
27. uniq
# 删除重复行,下面三种方式都可以uniq file.txt sort file.txt | uniq sort -u file.txt# 只显示出现一次的行uniq -u file.txt sort file.txt | uniq -u# 统计各行在文件中出现的次数:sort file.txt | uniq -c# 和前面相反的是,这里-d则找出重复的行 sort file.txt | uniq -d
28. cut
cat test.txt #No Name Mark Percent #01 tom 69 91 #02 jack 71 87 #03 alex 68 98# 输出第二个到第三个的内容cut -f2,3 test.txt #Name Mark #tom 69 #jack 71 #alex 68# 假定文件内容发生了变化#No;Name;Mark;Percent #01;tom;69;91 #02;jack;71;87 #03;alex;68;98# 用;作区分,并且输出第二个范围的值cut -f2 -d";" test2.txt #Name #tom #jack #alex# 假定文件内容发生了变化#abcd#fghijk#qrstu# 打印第1个到第3个字符cut -c1-3 test.txt#abc#fgh#qrs
29. echo
30. fmt
31. tr
32. nl
33. egrep
egrep Linux *
34. fgrep
fgrep strcpy *.c
目录操作
35. mkdir
mkdir -m 700 /usr/meng/test
36. cd
cd 进入用户主目录; cd ~ 进入用户主目录; cd - 返回进入此目录之前所在的目录; cd .. 返回上级目录(若当前目录为“/“,则执行完后还在"/";".."为上级目录的意思); cd ../.. 返回上两级目录;
37. pwd
SSH,系统信息 & 网络操作
38. ssh
39. whoami
40. passwd
41. quota
42. date
date -d "1 day ago" +"%Y-%m-%d"