基本操作

通用操作

1. export

显示所有的环境变量,也可以获取到某个变量的详细信息;

  1. export # 显示所有
  2. echo $SHELL # 只显示SHELL

2. whereis

使用系统自动构建的数据库来搜索可执行文件

  1. whereis python # 如果搜不到就不输出

3. which

它在环境变量PATH指定的目录中搜索可执行文件。此命令将打印可执行文件的完整路径。

  1. which python # 如果搜不到就不输出

4. clear

清除窗口上的内容。

文件操作

5. ls

  1. ls # 显示当前目录下非隐藏文件与目录
  2. ls -a # 显示当前目录所有文件与目录(包括非隐藏)
  3. ls -lh # 列出可读文件和文件夹详细信息
  4. ls -lt # 按最后修改时间列出文件和文件夹详细信息
  5. ls -ltr # 以最后修改时间反序列出文件和文件夹详细信息
  6. ls -F # 在每个输出项后追加文件的类型标识符

6. touch

touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

7. cat

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

  1. cat file1 file2 # 同时打印file1和file2的内容
  2. cat -n file1 # 在每行的前面加上行号
  3. cat -n file1 file2 > file3 # 将同时打印file1和file2的内容合并到file3中

8. more

它以全屏幕的方式按页显示文本文件的内容

  1. more -dc file # 显示文件file的内容,但在显示之前先清屏
  2. more -c -10 file # 显示文件file的内容,每10行显示一次,而且在显示之前先清屏

9. head

head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

  1. head -n10 file # 指定显示头部内容的行数
  2. head -c10 file # 指定显示头部内容的字符数

10. tail

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行

  1. tail file (显示文件file的最后10行)
  2. tail -n20 file (显示文件file的最后20行)
  3. tail +20 file (显示文件file的内容,从第20行至文件末尾)
  4. tail -c 10 file (显示文件file的最后10个字符)

11. mv

mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

  1. mv file1 file2 # 将file1命名为file2
  2. mv /uer/* . # 将user目录中的文件移动到当前目录下

12. cp

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

注意:cp命令不能复制目录,如果要复制目录,则必须使用-R/-r选项,当“源文件”为多个文件时,要求“目标文件”为指定的目录。

  1. cp -p file1 file2 # 拷贝文件1到文件2,并保持文件的权限、属主和时间戳
  2. cp -i file1 file2 #拷贝file1到file2,如果file2存在会提示是否覆盖
  3. cp -r /usr/men /usr/zh # 将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中

13. rm

rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。

  1. rm -i file # 删除文件前先确认
  2. rm -r * # 删除当前目录下的所有文件和子目录

14. diff

diff命令是以逐行的方式,比较文本文件的异同处。如果该命令指定进行目录的比较,则将会比较该目录中具有相同文件名的文件,而不会对其子目录文件进行任何比较操作。

  1. diff -w file1 file2 # 比较的时候忽略空白符

15. chmod

chmod命令用来变更文件或目录的权限。

  1. chmod ug+rwx file.txt # 给指定文件的属主和属组所有权限(包括读、写、执行)
  2. chmod g-rwx file.txt # 删除指定文件的属组的所有权限
  3. chmod -R ug+rwx dict # 修改目录的权限,以及递归修改目录下面所有文件和子目录的权限

16. gzip

gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令

  1. gzip filename # 压缩文件
  2. gzip dict # 压缩目录下的文件
  3. gzip -d filename # 解压

17. gunzip

gunzip命令用来解压缩文件。gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。

  1. gzip d /opt/etc.zip.gz | gunzip /opt/etc.zip.gz # 解压当前目录,效果相同
  2. gzip -l /opt/etc.zip.gz # 查看上述etc.zip.gz文件的压缩信息。

19. lpr

lpr命令用于将文件发送给指定打印机进行打印,如果不指定目标打印机,则使用默认打印机。

  1. lpr -P lp man1 man2 # 将man1和man2送到打印机lp进行打印(-P指定接受打印任务的目标打印机)

20. lpq

lpq命令用于显示打印队列中的打印任务的状态信息。

21. lprm

lprm命令用于删除打印队列中的打印任务。尚未完成的打印机任务会被放在打印机贮列之中,这个命令可用来将常未送到打印机的任务取消。

文本操作

22. awk

这个命令的作用特别多,其基本结构是BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,可选,任意一个都可以不出现在脚本中。

  1. awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file

具体视题目而定,实在太多栗子。

23. grep

全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

  1. grep -i "the" demo_file # 在文件中查找字符串(不区分大小写)
  2. grep -A 3 -i "example" demo_text # 输出成功匹配的行,以及该行之后的三行
  3. grep -r "ramesh" * #在当前目录中递归查询包含指定字符串的文件

参考文章

24. wc

wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

25. sed

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

参考文章

26. sort

将文件进行排序后输出到标准输出上。

这里比较常用的是-n-r-k,它们分别代表的是-n是按照数字大小排序,-r是以相反顺序,-k是指定需要排序的栏位,-t指定栏位分隔符

  1. #将CC列数字从大到小顺序排列:
  2. # sort -nrk 3 -t: sort.txt
  3. eee:40:5.4
  4. eee:60:5.1
  5. ddd:20:4.2
  6. ccc:50:3.3
  7. bbb:10:2.5
  8. aaa:30:1.6
  9. AAA:BB:CC
  10. # 只针对公司英文名称的第二个字母进行排序,如果相同的按照员工工资进行降序排序:
  11. $ sort -t ' ' -k 1.2,1.2 -nrk 3,3 facebook.txt
  12. baidu 100 5000
  13. google 110 5000
  14. sohu 100 4500
  15. guge 50 3000

由于只对第二个字母进行排序,所以我们使用了-k 1.2,1.2的表示方式,表示我们“只”对第二个字母进行排序。(如果你问“我使用-k 1.2怎么不行?”,当然不行,因为你省略了End部分,这就意味着你将对从第二个字母起到本域最后一个字符为止的字符串进行排序)。对于员工工资进行排 序,我们也使用了-k 3,3,这是最准确的表述,表示我们“只”对本域进行排序,因为如果你省略了后面的3,就变成了我们“对第3个域开始到最后一个域位置的内容进行排序” 了。

具体参考

27. uniq

通常和sort一起使用,在sort的参数中存在这么一个参数实现去除重复行

  1. # 删除重复行,下面三种方式都可以
  2. uniq file.txt
  3. sort file.txt | uniq
  4. sort -u file.txt
  5. # 只显示出现一次的行
  6. uniq -u file.txt
  7. sort file.txt | uniq -u
  8. # 统计各行在文件中出现的次数:
  9. sort file.txt | uniq -c
  10. # 和前面相反的是,这里-d则找出重复的行
  11. sort file.txt | uniq -d

28. cut

比较重要的几个选项是-f-d-c,它们分别代表的是显示指定范围的内容,指定字段的分隔符(之前默认的是空格),仅显示指定范围的字符

假定有如下信息:

  1. cat test.txt
  2. #No Name Mark Percent
  3. #01 tom 69 91
  4. #02 jack 71 87
  5. #03 alex 68 98
  6. # 输出第二个到第三个的内容
  7. cut -f2,3 test.txt
  8. #Name Mark
  9. #tom 69
  10. #jack 71
  11. #alex 68
  12. # 假定文件内容发生了变化
  13. #No;Name;Mark;Percent
  14. #01;tom;69;91
  15. #02;jack;71;87
  16. #03;alex;68;98
  17. # 用;作区分,并且输出第二个范围的值
  18. cut -f2 -d";" test2.txt
  19. #Name
  20. #tom
  21. #jack
  22. #alex
  23. # 假定文件内容发生了变化
  24. #abcd
  25. #fghijk
  26. #qrstu
  27. # 打印第1个到第3个字符
  28. cut -c1-3 test.txt
  29. #abc
  30. #fgh
  31. #qrs

29. echo

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linux的echo命令,在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的,因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

30. fmt

fmt命令读取文件的内容,根据选项的设置对文件格式进行简单的优化处理,并将结果送到标准输出设备。

31. tr

tr命令可以对来自标准输入的字符进行替换、压缩和删除。

32. nl

nl命令读取 file 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。

33. egrep

egrep命令用于在文件内查找指定的字符串。

  1. egrep Linux *

查找当前目录下所有文件包含字符串中包含Linux的文件。

34. fgrep

fgrep命令是用来搜索 file 参数指定的输入文件(缺省为标准输入)中的匹配模式的行。

  1. fgrep strcpy *.c

在当前目录下所有以 .c 字符串结尾的文件中搜索字符串 strcpy。

目录操作

35. mkdir

创建目录

  1. mkdir -m 700 /usr/meng/test

在目录/usr/meng下建立子目录test,并且只有文件主有读、写和执行权限,其他人无权访问。

36. cd

切换目录

  1. cd 进入用户主目录;
  2. cd ~ 进入用户主目录;
  3. cd - 返回进入此目录之前所在的目录;
  4. cd .. 返回上级目录(若当前目录为“/“,则执行完后还在"/"".."为上级目录的意思);
  5. cd ../.. 返回上两级目录;

37. pwd

pwd命令以绝对路径的方式显示用户当前工作目录。

SSH,系统信息 & 网络操作

38. ssh

ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器。

39. whoami

whoami命令用于打印当前有效的用户名称,相当于执行id -un命令。

40. passwd

passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

41. quota

quota命令用于显示用户或者工作组的磁盘配额信息。

42. date

date命令是显示或设置系统时间与日期。

  1. date -d "1 day ago" +"%Y-%m-%d"

输出昨天日期

44. uptime

uptime命令能够打印系统总共运行了多长时间和系统的平均负载。

45. w

w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。

46. finger

finger命令用于查找并显示用户信息。包括本地与远端主机的用户皆可,帐号名称没有大小写的差别。

47. uname

uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。

48. man

49. df

df命令用于显示磁盘分区上的可使用的磁盘空间

50. du

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看

51. last

last命令用于显示用户最近登录信息。

52. ps

ps命令用于报告当前系统的进程状态。

53. kill

kill命令用来删除执行中的程序或工作。

54. killall

killall命令使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程。

55. top

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。

56. bg

bg命令用于将作业放到后台运行,使前台可以执行其他任务。

57. fg

fg命令用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。

58. ping

ping命令用来测试主机之间网络的连通性。

60. dig

dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。

61. wget

wget命令用来从指定的URL下载文件。

62. scp

scp命令用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。

参考文章

10 分钟学会Linux常用 bash命令W2School Linux 教程

Linux常用脚本命令总结的更多相关文章

  1. Linux 常用脚本命令

    Linux 常用(脚本)命令 1. 统计目录下文件个数 ll |grep "^-"|wc -1 解释 grep "^-"表示抓取以-开头的行(其他忽略)

  2. Linux常用基础命令整理:关机命令、查看目录下文件命令等

    Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...

  3. Linux 常用系统性能命令总结

    Linux 常用系统性能命令 查看系统负载top,free **w/uptime  ** 最后面三个数字表示1分钟,5分钟,15分钟平均有多少个进程占用CPU占用CPU的进程可以是Running,也可 ...

  4. linux常用网络命令ping和arping

    linux常用网络命令ping和arping ping 向目标主机发送icmp请求包 常用来测试当前主机与目标主机网络连接状况 常见选项 -c              设置发包的个数 -s      ...

  5. Linux 常用脚本

    Linux 常用脚本   修改表列属性   sql可任意修改,若数据库正好在执行机器上,可去掉ip地址 echo 为输出   #!/bin/shfor((i=0;i<256;i++));do   ...

  6. Linux常用基础命令(二)

    Linux常用基础命令 一.-ls--列表显示目录内容 二.-alias--设置别名 三.-du--统计目录及文件空间占用情况 四.-mkdir--创建新目录 五.-touch--创建空文件 六.-l ...

  7. linux 常用查看命令

    linux 常用查看命令 目录 linux 常用查看命令 linux 查看内存/进程-ps/top linux 查看磁盘存储-df linux 查看io读写-iotop linux 查看端口占用-ne ...

  8. linux常用脚本

    转载于http://justcoding.iteye.com/blog/1943504 我们在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个l ...

  9. linux常用的命令

    Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安 ...

随机推荐

  1. jenkins管理员密码登录不了

    1.密码管理员密码,如何修改 进入/var/jenkins_home/users/admin目录下修改config.xml文件: 以下密码是admin <hudson.security.Huds ...

  2. 把angular项目整合到.net mvc中

    之前的开发选择的是完全舍弃服务端,仅保留最简单web服务器提供angular经打包的静态资源,此外所有的业务与数据请求都访问一个分离的WebApi来实现.不过最近碰到一个需求,有必要使用多个客户端,而 ...

  3. Ubuntu下使用nginx和nginx-rtmp-module搭建流媒体服务器的正确姿势

    之前在使用nginx和nginx-rtmp-module搭建流媒体服务器的时候遇到一个很尴尬的问题,就是在把nginx-rtmp-module模块添加到nginx中去的时候,我最开始采取的做法是先卸载 ...

  4. 【Android Developers Training】 7. 添加Action Buttons

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. 【Android Developers Training】 1. 创建一个Android项目工程

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. Navigation Controller 创建方法

    添加Navigation Controller的方法主要有两种: 第一种:主要是通过在storyboard中拖入Object library 中的Navigation Controller 第二种方法 ...

  7. 从Android源码的角度分析Binder机制

    欢迎访问我的个人博客,原文链接:http://wensibo.top/2017/07/03/Binder/ ,未经允许不得转载! 前言 大家好,好久不见,距离上篇文章已经有35天之久了,因为身体不舒服 ...

  8. C#设置WebBrowser默认浏览器

    由于VS的WebBrowser控件的默认浏览器是IE7,好多网页兼容性不是很好,所以要修改下默认浏览器. 设置前: 设置后:    在WebBrowser界面加载时执行以下方法,设置浏览器. /// ...

  9. angularJS 源码阅读之一:toDebugString

    简介: 这个函数返回调试字符串: number,boolean,string,null,undefined,都会转为字符串. function 中括号前面有空格的,会去除函数体,没空格的,会输出函数的 ...

  10. 第一章:pip 安装 和 卸载 django

    1. 在dos命令行中输入 pip 如下命令进行安装: 安装最新的版本的 Django 命令如下: pip install django 安装 指定版本的 Django 命令如下: pip insta ...