Linux常用命令详细汇总

常用的Linux命令汇总与解析

【1】查看进程:

ps -aux 显示所有状态
ps -ef | grep java : grep 搜索 java (通用)
pstree 以树形查看
-e 显示所有进程,环境变量
-f 全格式
-h 不显示标题
-l 长格式
-w 宽输出
-a 显示终端上地所有进程,包括其他用户地进程
-r 只显示正在运行地进程
-x 显示没有控制终端地进程

【2】删除进程:

kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止
通常用 ps 查看进程 PID ,用 kill 命令终止进程

【3】动态查看日志:

tail -f [文件名] 默认最后10行 实时刷新
tail -nf [文件名] n为行数 实时刷新 如: tail -100f log.out (实时监控最后100行的日志)
退出动态查看:ctrl + c(一般的退出都可以)

【4】查看文件内容

  • 如果你只想看文件的前5行,可以使用head命令,如: head -5 /etc/passwd
  • 如果你想查看文件的后10行,可以使用tail命令,如:
    tail -10 /etc/passwdtail -n 10 /etc/passwd
    tail -f /var/log/messages
    参数-f使tail不停地去读最新的内容,这样有实时监视的效果。用Ctrl+c来终止!
  • 查看文件中间一段,你可以使用sed命令,如:
    sed -n '5,10p' /etc/passwd
    这样你就可以只查看文件的第5行到第10行。

【5】查看文件具体信息

stat [文件名]

【6】动态查看当前消耗最大的进程:

top

【7】查看文件:

  • cattac:将全部内容输入到屏幕,但经常屏幕无法完全容下,只能看到一部分。
    cat从第一行开始,tac从最后一行开始倒过来输出
  • moreless:分页显示。
    more:回车向下翻行,空格向下翻页(无法翻回前一页)q退出
    less:使用pageuppagedown前后翻页(先同more向后翻页才能pagedown)q退出
    查询:打开文件后,输入:/[查询内容]回车,可以高亮[查询内容]
    向前搜索:/搜索并定位到下一个匹配的文本,n 查找下一个匹配的文本
    向后搜索:? 搜索并定位到前一个匹配的文本, n 查找下一个匹配的文本
  • headtail:同【4】,查看文件的前n行和查看文件的后n行
  • nltailf:少用,忽略
  • linux目录下,以.开头的文件为隐藏文件,为了查看linux下的隐藏文件,使用带有-a选项的ls命令,即可查看指定目录下的所有文件。
    ls -a /opt可查看/opt目录下所有文件,包括隐藏文件.a.txt, ., …。
    其中.表示当前目录,…表示上一级目录,即父目录。
  • 如果想查看文件的详细信息,如文件大小,创建时间等,可使用带有-l选项的ls命令。(还有-al -lh等)
    如,要查看/opt目录下文件的详细信息,使用命令:ls -l /opt
  • 如果要查看ls的详细使用说明,可以使用带--help选项的ls,如ls --help.

【8】查看网络信息:

ifconfig

【9】查看命令:

man ls

【10】查找文件:

locate <文件名称>: locate log.txt
find [路径] <表达式>: find …/ -name log.txt 或者 find -name log.txt
-name <表达式> 根据文件名查找文件
-iname <表达式> 根据文件名查找文件,忽略大小写
-path <表达式> 根据路径查找文件
-ipath <表达式> 根据路径查找文件,忽略大小写
-mtime <天数> 按文件更改时间来查找文件,(-n +n: -n指n天以内,+n指n天以前)
-amin <分钟> 过去N分钟内访问过的文件
-atime <天数> 过去N天内访问过的文件
-cmin <分钟> 过去N分钟内修改过的文件
-ctime <天数> 过去N天内修改过的文件
-anewer <参照文件> 比参照文件更晚被读取过的文件
-cnewer <参照文件> 比参照文件更晚被修改过的文件
-size <大小> 根据文件大小查找文件,单位b c w k M G
-empty 查找空文件
-type <文件类型> 根据文件类型查找文件: b 块设备 c 字符设备 d 目录 p 管道文件 f 普通文件 l 链接 s 端口文件(默认当前目录)
eg: find -name local -type d (查找名称包含 local 的文件夹)

  • 查找某类型文件:find . -regex '.*\.txt\|.*\.doc\|.*\.mp3'ls *.c
    find -name ‘*.c’ (正则表达式可以在大多数地方使用)

  • 查找文件内容:(最后跟文件,否则默认当前目录下所有文件)

    • 从文件内容查找匹配指定字符串的行: $ grep [被查找的字符串] [文件名]
    • 从文件内容查找与正则表达式匹配的行: $ grep –e [正则表达式] [文件名]
    • 查找时不区分大小写: $ grep –i [被查找的字符串] [文件名]
    • 查找匹配的行数: $ grep -c [被查找的字符串] [文件名]
    • 从文件内容查找不匹配指定字符串的行: $ grep –v [被查找的字符串] [文件名]

eg:

  • 从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行 find / -type f -name "*.log" | xargs grep "ERROR"
  • 系统查找到httpd.conf文件后即时在屏幕上显示httpd.conf文件信息: find/-name"httpd.conf"-ls
  • 在根目录下查找某个文件: find . -name "test"
  • 在某个目录下查找包含某个字符串的文件: grep -r "zh_CN" ./
  • 模糊查找: find -name ‘*test*’

【11】涉及到一些数字参数的,一般可以使用±号:

+大于(时间之前) -小于(时间之内)

【12】查看命令的帮助内容:

[命令] --help

【13】文件详细信息的说明:

-rw-r--r-- 1 root root 5661 Sep 4 18:25 install.log.syslog
[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ]
[ 权限 ] [连结] [拥有者] [群组] [文件容量] [ 修改日期 ] [ 文件名 ]
[权限]说明:
- rw- r-- r--
1 234 567 890(用数字表示位置)
1:文件的类型(如目录、文件或链接文件等等):

	d:目录
	-:文件
	l:链接(link file)
	b:装置文件里面的可供储存的接口设备(可随机存取装置)
	c:装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

234:『文件拥有者的权限』
567:『同群组的权限』
890:『其他非本群组的权限』

以下字符中,以三个为一组,且均为『rwx』 的三个参数的组合
r:可读(read)
w:可写(write)
x:可执行(execute) 
-:没有权限	

【14】删除文件:

rm * (删除当前目录下)
rm [文件/文件夹名称](删除指定目录或文件)
其他参数:
-f, --force 忽略不存在的文件,不给出提示。
-i, --interactive 进行交互式删除(删除前会逐一询问是否删除文件,目录下每个文件/目录都会问)
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
–help 显示此帮助信息并退出
–version 输出版本信息并退出
一般使用 rm -rf [文件夹] 进行删除文件夹
注:只用rm 不会删除内部目录,一般可以恢复;使用rm -rf 会删除目录下的所有内容,不能恢复
对于链接文件,只是删除了链接,原有文件均保持不变。
删除需要用户对当前文件有写权限
模糊删除:rm -rf *.doc

【15】创建文件夹:

mkdir
在当前目录下创建文件夹[test]:mkdir test
指定目录下创建文件夹[test]: mkdir /usr/local/test
-m:用于对新建目录设置存取权限,也可以用 chmod 命令进行设置。eg:mkdir -m=r-- letter
-p:需要时创建上层文件夹(或目录),如果文件夹(或目录)已经存在,则不视为错误。
注: 无法创建已存在的文件夹(不会跟windows一样创建后自动改名)
在想要创建目录的目标路径下你必须具有访问权限

【16】创建文件:

  • vi [文件名],然后 :wq保存退出 (文件名包括类型,如:a.txt)
  • touch [文件名],然后可以用vi进行编辑 (文件名包括类型,如:a.txt)

【17】zip/unzip/tar:

命令名: zip
功能说明: 压缩文件。
语  法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>]
补充说明: zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".zip"扩展名 的压缩文件。
参  数:
-A 调 整可执行的自动解压缩文件。
-b<工作目录> 指 定暂时存放文件的目录。
-c 替 每个被压缩的文件加上注释。
-d 从 压缩文件内删除指定的文件。
-D 压 缩文件内不建立目录名称。
-f 此 参数的效果和指定"-u"参 数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F 尝 试修复已损坏的压缩文件。
-g 将 文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在 线帮助。
-i<范本样式> 只 压缩符合条件的文件。
-j 只 保存文件名称及其内容,而不存放任何目录名称。
-J 删 除压缩文件前面不必要的数据。
-k 使 用MS-DOS兼容格 式的文件名称。
-l 压 缩文件时,把LF字符 置换成LF+CR字 符。
-ll 压 缩文件时,把LF+CR字 符置换成LF字符。
-L 显 示版权信息。
-m 将 文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串> 不 压缩具有特定字尾字符串的文件。
-o 以 压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显 示指令执行过程。
-r 递 归处理,将指定目录下的所有文件和子目录一并处理。
-S 包 含系统和隐藏文件。
-t<日期时间> 把 压缩文件的日期设成指定的日期。
-T 检 查备份文件内的每个文件是否正确无误。
-u 更 换较新的文件到压缩文件内。
-v 显 示指令执行过程或显示版本信息。
-V 保 存VMS操作系统的文 件属性。
-w 在 文件名称里假如版本编号,本参数仅在VMS操 作系统下有效。
-x<范本样式> 压 缩时排除符合条件的文件。
-X 不 保存额外的文件属性。
-y 直 接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之 类的系统下有效。
-z 替 压缩文件加上注释。
-$ 保 存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率> 压缩效率是一个介于1-9的 数值。

例  子:
例1. 压缩test.MYI:

[root@mysql test]# zip test1.zip test.MYI
adding: test.MYI (deflated 42%)
[root@mysql test]#ll
-rw-r--r-- 1 root    root    1033755 09-24 10:03 test1.zip

压缩率为8的:			
[root@mysql test]# zip test2.zip -8 test.MYI
adding: test.MYI (deflated 42%)
[root@mysql test]#ll
-rw-r--r-- 1 root    root    1033451 09-24 10:03 test2.zip

例2. 将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件:

[root@mysql test]# zip -r test.zip ./*

打包目录:
[root@mysql test]# zip test2.zip test2/*

例3. 删除压缩文件test1.zip中test.MYI文件

[root@mysql test]# zip -d test1.zip test.MYI

删除打包文件里面的目录下的文件:
[root@mysql test]# zip -d test2.zip test2/ln.log
deleting: tests/ln.log

例4. 向压缩文件中test1.zip中添加test. MYI文件:

[root@mysql test]# zip -m test1.zip test. MYI

例5. 压缩文件时排除某个文件:

[root@mysql test]# zip test3.zip tests/* -x tests/ln.log

命令名: unzip
功 能说明: 解压缩zip文 件
语  法: unzip [-cflptuvz][-agCjLMnoqsVX][-P <密 码>][.zip文 件][文件][-d <目录>][-x <文件>]unzip [-Z]
补充说明: unzip为.zip压缩文件的解压缩程序。
参  数:
-c 将 解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更 新现有的文件。
-l 显 示压缩文件内所包含的文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任 何的转换。
-t 检 查压缩文件是否正确。,但不解压。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中 的其他文件解压缩到目录中。
-v 执 行是时显示详细的信息。或查看压缩文件目录,但不解压。
-z 仅 显示压缩文件的备注文字。
-a 对 文本文件进行必要的字符转换。
-b 不 要对文本文件进行字符转换。
-C 压 缩文件中的文件名称区分大小写。
-j 不 处理压缩文件中原有的目录路径。
-L 将 压缩文件中的全部文件名改为小写。
-M 将 输出结果送到more程 序处理。
-n 解 压缩时不要覆盖原有的文件。
-o 不 必先询问用户,unzip执 行后覆盖原有文件。
-P<密码> 使 用zip的密码选项。
-q 执 行时不显示任何信息。
-s 将 文件名中的空白字符转换为底线字符。
-V 保 留VMS的文件版本信 息。
-X 解 压缩时同时回存文件原来的UID/GID。
[.zip文件] 指定.zip压缩文件。
[文件] 指定 要处理.zip压缩文 件中的哪些文件。
-d<目录> 指 定文件解压缩后所要存储的目录。
-x<文件> 指 定不要处理.zip压 缩文件中的哪些文件。
-Z unzip -Z 等 于执行zipinfo指 令。
例  子:
例1: 将压缩文件text.zip在当前目录下解压缩。

[root@mysql test]# unzip test.zip

例2: 将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。

[root@mysql test]# unzip -n test.zip -d /tmp

例3: 查看压缩文件目录,但不解压。

[root@mysql test]# unzip -v test.zip

例4: 将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件。

[root@mysql test]# unzip -o test.zip -d tmp/

使用 unzip "*.zip"
ls *.zip | xargs -n1 unzip
解压当前目录下的所有zip文件

命令名: tar
功 能说明: 压缩解压 文件或者目录
语  法: tar [主选项+辅选项] 文件或者目录
补充说明: 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
参  数:
[主选项]:
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
[辅助选项]:
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
[下面的参数-f是必须的]
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
例  子:
例1: 将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -cf all.tar *.jpg

例2: 将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -rf all.tar *.gif

例3: 更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -uf all.tar logo.gif

例4: 列出all.tar包中所有文件,-t是列出文件的意思

# tar -tf all.tar

例5: 解出all.tar包中所有文件,-x是解开的意思

# tar -xf all.tar

常用命令:
压缩
tar -cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg 将目录里所有jpg文件打包成jpg.tar后,并将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg zip格式的压缩,需要先下载zip for linux

解压
tar -xvf file.tar 解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2 解压 tar.bz2
tar -xZvf file.tar.Z 解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip

总结:不同格式文件解压对应的不同命令
1、.tar 用 tar -xvf 解压
2、
.gz 用 gzip -d或者gunzip 解压
3、.tar.gz和.tgz 用 tar -xzf 解压
4、.bz2 用 bzip2 -d或者用bunzip2 解压
5、
.tar.bz2用tar -xjf 解压
6、.Z 用 uncompress 解压
7、
.tar.Z 用tar -xZf 解压
8、.rar 用 unrar e解压
9、
.zip 用 unzip 解压

【18】显示目标列表:

命令名: ls
参数:
-a:显示所有档案及目录(ls内定将档案名或目录名称为.的视为隐藏,不会列出);
-A:显示除隐藏文件... 以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;;
-F:在每个输出项后追加文件的类型标识符,具体含义:*表示具有可执行权限的普通文件,/表示目录,@表示符号链接,|表示命令管道FIFO,=表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-b:将文件中的不可输出的字符以反斜线 \ 加字符编码的方式输出;
-c:与-lt选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与-l选项连用时,则排序的一句是文件的状态改变时间;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定aU参数相同,并关闭lst参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与-F选项的功能相同,但是不显示*
-k:以KB(千字节)为单位显示文件大小;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。

【19】复制:

命令名:cp
例子:

   //由a.txt文件,获得了备份文件a.txt.bak。 
   cp a.txt a.txt.bak 
  
   //如果要拷贝目录,需要使用参数-R: 
   cp -R a b   

【20】文件剪切 :

命令名: mv
这个命令是move单词的缩写,可以用来剪切/重命名文件、目录。
这个命令最初就是为了剪切操作,但从其作用来看,用来重命名再合适不过了!
例子:

   mv a c   
   a可以是文件,也可以是目录,上述操作后,a文件/目录就变成了c文件/目录! 

【21】查看文件行数等信息:

命令名:wc(统计指定文件中的字节数、字数、行数, 并将统计结果显示输出)
例子:

wc -l [filename] 查看文件里有多少行
wc -w [filename] 看文件里有多少个字。
wc -L [filename] 文件里最长的那一行是多少个字。

说明:
该命令统计给定文件中的字节数、字数、行数。
如果没有给出文件名,则从标准输入读取。
wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。

该命令各选项含义如下:(这些选项可以组合使用)
- c 统计字节数。
- l 统计行数。
- w 统计字数。

输出列的顺序和数目不受选项的顺序和数目的影响。
总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例子:

	$ wc - lcw file1 file2
	4 33 file1
	7 52 file2
	11 11 85 total
	
	//省略任选项-lcw,wc命令的执行结果与上面一样。

使用ls -lht命令显示当前目录下的所有文件,其中有一列就是显示这个文件的大小。
如果要看一个文件夹的大小,可以用du -sh *

【22】指定行开始查看文件:

查找内容所在行数: 通过命令cat [filename] | grep -n "[内容]" 命令打印出要查找的内容的起始行号和结束行号
从指定行开始查看:

  • 从第3000行开始,显示1000行。即显示3000~3999行
    cat filename | tail -n +3000 | head -n 1000
  • 显示1000行到3000行
    cat filename| head -n 3000 | tail -n +1000
  • 只查看文件的第5行到第10行 sed -n '5,10p' filename

解析:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行

【23】权限:

root 是管理员,root权限就是管理员权限,使用管理员登录既有
sudo 是管理员分配给其他用户的权限,可以包括全部的root权限

	[root@localhost /]# useradd Daniel #创建一个用户
	[root@localhost /]# passwd Daniel  #设置密码
	[root@localhost /]# su Daniel  #切换用户到Daniel
	bash-4.1$  #切换成功 :
	
	#给权限
	#Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
	#使用权限:在 /etc/sudoers 中有出现的使用者。这里可以直接修改sudoers,也可以额使用visudo,推荐使用visudo,可以判断你的语法是否正确
	root@localhost /]# visudo
	## Allow root to run any commands anywhere
	root    ALL=(ALL)       ALL
	Daniel  ALL=(ALL)       ALL       #这是我们新添加的一行,意思是Daniel这个用户,可以使用所有的命令,使用单个命令(比如useradd),可以将ALL改成/user/sbin/add
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值