Linux 常用命令

Linux 常用命令

1、who:判断谁在系统上,查看用户自己的信息用 who i am。

2、ps aux:列出当前在机器上运行的所有进程的详细列表。

3、ls:列出当前目录的内容。

4、cat:查看文件内容。

5、which +命令:查看所使用的命令所在的文件,如 which ps。

6、reset:将终端恢复到正常状态。

7、终端控制组合键

  Ctrl+C:帮助用户停止现在进行的工作;

  Ctrl+D:输入完成的正常信号;

  Ctrl+Z:用来挂起程序,挂起的程序可用fg来恢复;

  Ctrl+U:用来擦除当前行;

  Ctrl+H:和Backspace退格键一样,清除前一个字符;

  Ctrl+L:指示Bash清屏,但保留当前的命令行;

  Ctrl+S:锁住屏幕;

  Ctrl+Q:解锁屏幕;

  Ctrl+Alt+F1~F8:进入虚拟控制台;

8、在less分页程序浏览下的导航命令

  空格键:浏览下一行

9、infocmp:将二进制条目转化成文本

10、PS1:控制默认命令行提示符的格式

  PS2:控制后续命令行提示符的格式

11、man :访问存储在Linux系统上的手册页面

  • 空格、上下键:翻页
  • q:退出

12、cd:切换目录

  • +绝对路径:目录的全名
  • +相对路径:基于当前路径的目标路径
  • .:当前目录
  • ..:当前目录的父目录

13、ls:显示当前目录下的文件和目录

  • -F:区分文件和目录
  • -a:显示所有文件,包括隐藏文件
  • -R:列出当前目录下包含的目录中的文件
  • -l:输出包含了目录中每个文件的更多相关信息

14、touch:创建文件

  • -t:指定创建文件的时间

15、cp source destination:复制文件

  • -r:递归的复制文件
  • -R:递归的复制目录
  • -l:创建文件链接而非复制文件,硬连接只能在同种媒体上的文件之间创建,不能在不同挂载点下的文件之间创建
  • -p:保留源文件的访问时间和修改时间
  • -s:创建一个符号链接即软连接,软连接可以在不同挂载点下的文件间创建

16、ln:建立硬连接

  • -s:建立软连接

17、mv file1 file2:重命名文件通过移动到另外一个位置来实现

  • + dir1 dir2:重命名目录

18、rm:删除文件

  -rf dir:删除目录不进行提醒

19、mkdir dir:创建目录

20、rmdir dir:删除空目录

21、stat file:查看文件系统上某个文件的所有状态信息

22、file filename:查看文件类型(文本文件、可执行文件和数据文件)

23、查看文件

  1)cat filename:显示文本文件中所有数据

  • -n:给所有行加上行号
  • -b:给文本的行加上行号
  • -s:将多个空白行压缩到单个空白行
  • -T:不让制表符出现

  2)more:显示文本文件的内容,但在现实每页数据之后停下来

  • f:显示下一屏文本文件
  • b:显示上一屏文本文件
  • q:退出程序

  3)tail:显示文件尾部部分的内容

  • -n linecount:显示文件最后linecount行
  • -f:让tail程序一直保持活动状态,如果有新的内容加到文件的末尾就显示出来

  4)head:显示文件开头那些行

24、ps:显示运行在当前控制台下属于当前用户的进程

  • -e:显示所有运行在系统上的进程
  • -f:扩展了输出
  • -H:把输出的进行组成一个层级的格式

25、top:实时显示进程信息

  • F:选择一列来将进程排序(默认为%CPU)
  • q:退出top

26、kill PID:向当前用户下运行中的进程发出进程信号,结束该进程

27、mount:输出当前系统上挂载的设备列表

  • -t type device directory :root用户手动挂载媒体设备,如:mount -t vfat /dev/sdb1  /media/disk
  • -o:允许在挂载文件系统时添加一些以逗号分隔的额外选项

    ro:按只读的挂载

    rw:按读写允许的挂载

    loop:挂载一个文件

    user:允许普通用户挂载文件系统

28、umount [directory |device ]:通过设备文件或者挂载点来指定要卸载的设备

29、df:查看所有已挂载磁盘的使用情况

  • -h:输出中的磁盘空间按照M或G形式显示

30、du:显示当前目录下所有文件、目录和子目录的磁盘使用情况

  • -c:显示所有已列出文件总的大小
  • -h:按人类可读的格式输出
  • s:显示每个输出参数的总计

31、sort:用来对数据进行排序

  • -n:按字符串数值来排序
  • -t:指定一个区分键位置的字符
  • -k:排序从位置几开始,如:sort -t':' -k 3 -n /etc/passwd
  • -r:反序排序

32、grep [options] pattern [file]:到输入或你指定的文件中查找包含匹配指定模式的字符的行。

  • -v:输出不匹配该模式的行
  • -n:显示配置模式的行所在的行号
  • -c:统计匹配行的行数
  • -e:指定每个模式,如:grep -e t -e f file1,在file1中匹配“t”和“f”,也可以使用正则表达式表示,如:grep [tf] file1

33、压缩数据

  1)bzip2

  • bzip2:用来压缩文件,并以压缩后的文件替换源文件
  • bzcat:不需要解压文件显示压缩文件中的内容
  • bunzip2:用来解压缩压缩后的.bz2文件
  • bzip2recover:用来尝试恢复损毁的压缩文件

  2)gzip

  • gzip:用来压缩文件
  • gzcat:用来查看压缩过的文本文件的内容
  • gunzip:用来解压文件

  3)zip

  • zip:创建一个压缩文件,包含指定的文件和目录,如:zip -r dirzip dir,将目录进行递归压缩
  • zipclock:创建一个加密的压缩文件,包含指定的文件和目录
  • zipnote:总zip文件中提取批注
  • zipsplit:将一个现有zip文件分割成多个更小的固定大小的文件
  • unzip:从压缩过的zip文件中提取文件和目录

34、tar:将数据压缩和归档进单个文件

  • -c:创建一个新的tar文件
  • -v:在处理文件时显示文件
  • -f:输出结果到文件或设备file,如:tar -cvf dir.tar dir1/ dir2
  • -z:将输出重定向给gzip命令来压缩内容
  • -x:从已有tar归档文件中提取文件,可以解压.tar ,和-z一起使用可以解压.tgz的文件
  • -t:列出已有tar归档文件的内容

ps:压缩文件时排除某个文件或目录,tar -zcvf file.tar.gz  sam/ --exclue sam/dir

  • 如果要压缩的目录是相对路径,排除的子目录必须是相对路径
  • 如果要压缩的目录是绝对路径,排除的子目录可以是相对路径也可以是绝对路径

  

35、printenv:查看全局变量

  echo $VARNAME:查看单个环境变量VARNAME的值

  set:显示某个特定进程设置的所有环境变量(包括全局和局部环境变量)

  varname=varvalue,设置局部环境变量,推荐使用小写字母,记住,在环境变量名称、、等号和值之间没有空格,当变量赋给包含空格的字符串时,必须用单引号来界定

  export varname:创建全局环境变量的方法是先创建一个局部环境变量,然后把它导出到全局环境中

  unset varname:删除环境变量,但在子进程中删除的全局环境变量,在父进程中依然有效

  PATH=$PATH:progdir :为可执行程序设置PATH环境变量

36、alias:命令别名,如:alias li='ls -il',通常只在定义的shell中有效,为了让交互式的shell访问,需要定义在$HOME/.bashrc中。

37、useradd:添加新用户,如useradd -d /usr/sam -m sam -s /usr/bin/bsah -g play

  • -d:为主目录指定一个名字
  • -G:指定用户除登录组之外所属的一个或多个附加组
  • -m:创建用户的HOME目录
  • -p:为账户指定默认密码
  • -s:指定默认的登录shell
  • -D -s:更改默认的登录shell
  • -D -b:更改默认的创建用户HOME目录的位置
  • -D -g:更改默认的组名称或GID

38、userdel -r username:删除用户的HOME目录以及mail目录

39、修改用户

  1)usermod

  • -l:用来修改用户账户的登录名
  • -L:用来锁定账户,这样用户就无法登录了
  • -p:用来修改账户的密码
  • -U:用来解除锁定,解除后用户就能登录了
  • -g:用来修改默认的登录组

  2)passwd和chpasswd

  • passwd username:改变用户密码
  • chpasswd <newpass.txt :批量修改密码,newpass.txt中存放要修改的密码,格式为userid:passwd

  3)chsh -s shell的全路径名 userid:快速修改默认的用户登录shell

  4)chang:管理账户的有效期

40、groupadd:创建新组

41、groupmod:修改组信息

  • -g:修改已有组的GID
  • -n 新组名 旧组名:修改已有组的组名

42、chmod:改变文件和目录的权限

  • +mode file:如chmod 760 file1
  • [ugoa...][+-=][rwxXstugo...]:如chmod o+r file1
  • -R:让权限的改变递归的作用到文件和子目录
  • -s:运行时重新设置UID和GID

43、chown:改变文件的属主和属组

  • owner file:root用户操作,改变文件的属主
  • owner.group file:改变文件的属组
  • -R:可以递归改变文件和目录的所属关系

44、chgrp group newfile:改变文件或目录的默认属组

45、fdisk:创建分区

  • p:显示存储设备的详细信息
  • n:添加一个新分区
  • w:将分区表写入磁盘
  • d:删除分区
  • q:退出不保存修改
  • m:显示命令选项

 46、wc:统计文本行数、词数和字节数

 47、tcpdump:抓包

  如:tcpdump -i eth0 host localhost and port 8000 -s 0 -w test.cap

    strings test.cap 查看抓包文件内容

48、查看机器硬件信息

  • 查看CPU信息:cat /proc/CPUinfo
  • 查看内存信息:cat /proc/meminfo
  • 查看当前操作系统的内核信息:uname -a
  • 查看当前操作系统发行版本的信息:cat /etc/issue
  • 查看网络信息:ifconfig

49、查看系统资源

  • top:查看CPU、men的使用情况

     shift+p:按所占进程排序显示

     shift+m:按所占内存排序显示

  • vmstat num:每隔num秒查看一下内存,交换分区,i/o,cpu的使用情况
  • free -m:查看内存使用情况

50、netstat -an:查看所有使用的端口

  lsof -i:port :查看port端口属于哪个进程

51、清除系统对内存的cache,在root用户下执行

  1) sync ; echo 3>/proc/sys/vm/drop_caches

  2) sync ; echo 0 >proc/sys/vm/drop_caches

52、scp:两台Linux之间文件传输,如:scp file1 username@111.111.111.1:/home/username/

53、find:查找文件,如 file ./ -name "file"

54、clockdiff:查看两台linux机器之间的时间差

  时钟同步:ntpdate -s 基准时间机器的ip