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