Linux常用命令

2023-08-24 10:28:12 浏览数 (1)

:::hljs-center

::: @TOC

1.1 文件和目录

1.1.1 cd 命令

cd命令用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径[1]。

语法:

代码语言:javascript复制
> cd [dirName]
> cd /home  #进入个人“/home”目录
> cd ..      返回上一级目录
> cd ../..    返回上两级目录
> cd       进入个人的主目录
> cd ~用户名 进入用户名的主目录
> cd -      打印上次所在的目录

1.1.2 pwd 命令

pwd(英文全拼:print work directory)命令用来显示工作路径。执行 pwd 指令可立刻得知您目前所在的工作目录的绝对路径名称[2]。

语法:

代码语言:javascript复制
> pwd [--help][--version]
> pwd      显示工作路径

1.1.3 ls 命令

ls(英文全拼:list files)命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。

语法:

代码语言:javascript复制
> ls [-alrtAFR][name...]
> ls 命令    查看目录中的文件
> ls -l 命令   显示文件和目录的详细资料
> ls -a 命令  列出全部文件,包含隐藏文件
> ls -R 命令  连同子目录的内容一起列出(递归列出),等于该目录下所有文件都显示出来
> ls *[0-9] 命令显示以数字结尾的文件名和目录名

1.1.4 cp 命令

cp命令用于复制文件,copy之意,它还可以把多文件一次性地复制到一个目录下。

语法:

代码语言:javascript复制
> cp [options] source dest
> cp [options] source... directory
> cp -a     此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
> cp -p     连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
> cp -i      与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖
> cp -r      递归持续复制,用于目录的复制行为

1.1.5 mv 命令

mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法:

代码语言:javascript复制
> mv [options] source dest
> mv [options] source... directory
> mv -f     force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
> mv -b     当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份
> mv -i      若目标文件已经存在,就会询问是否覆盖

1.1.6 rm 命令

rm(英文全拼:remove)命令用于删除一个文件或者目录。

语法:

代码语言:javascript复制
> rm [options] name...
> rm -i      删除前逐一询问确认
> rm -f     即使原档案属性设为唯读,亦直接删除,无需逐一确认
> rm -r     将目录及以下之档案亦逐一删除

1.2 文件的权限

1.2.1 chmod 命令

chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令。Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

语法和参数说明:

代码语言:javascript复制
> chmod [-cfvR] [--help] [--version] mode file...
> mode说明:[ugoa...][[ -=][rwxX]...][,...]

只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
  • 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

代码语言:javascript复制
> -c : 若该文件权限确实已经更改,才显示其更改动作
> -f : 若该文件权限无法被更改也不要显示错误讯息
> -v : 显示权限变更的详细资料
> -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

1.2.2 chown 命令

Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。

Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。chown 需要超级用户 root 的权限才能执行此命令。只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。

语法:

代码语言:javascript复制
> chown [-cfhvR] [--help] [--version] user[:group] file...
> user : 新的文件拥有者的使用者 ID
> -c : 显示更改的部分的信息
> -f : 忽略错误信息
> -v : 显示详细的处理信息
> -R : 处理指定目录以及其子目录下的所有文件

1.3 文本处理

1.3.1 grep 命令

Linux grep 命令用于查找文件里符合条件的字符串。

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

语法:

代码语言:javascript复制
grep [-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

该命令用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等。

代码语言:javascript复制
> grep Aug grep_test1.txt 在grep_test1.txt文件中查找Aug
> grep ^Aug grep_test1.txt 在grep_test1.txt 文件中查找以Aug开头的词汇
> grep [0-9] grep_test1.txt

1.3.2 paste 命令

代码语言:javascript复制
> paste file1 file2 命令
> paste -d ‘ ’ file1 file2 命令

1.3.3 sort 命令

Linux sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。

语法:

代码语言:javascript复制
> sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][ <起始栏位>-<结束栏位>][--help][--verison][文件]
> sort file1 file2 排序两个文件的内容
> sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
> sort file1 file2 | uniq -u 删除交集,留下其他的行
> sort file1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文本)

1.3.4 comm 命令

Linux comm 命令用于比较两个已排过序的文件。

这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成 3 列显示:第 1 列仅是在第 1 个文件中出现过的列,第 2 列是仅在第 2 个文件中出现过的列,第 3 列则是在第 1 与第 2 个文件里都出现过的列。若给予的文件名称为 - ,则 comm 指令会从标准输入设备读取数据。

语法:

代码语言:javascript复制
> comm [-123][--help][--version][第1个文件][第2个文件]
> comm -1 file1 file2 比较两个文件内容,只删除‘file1’所包含的内容
> comm -2 file1 file2 比较两个文件内容,只删除‘file2’所包含的内容
> comm -3 file1 file2 比较两个文件内容,只删除两个文件共有的部分

1.4 打包和压缩文件

1.4.1 tar 命令

Linux tar(英文全拼:tape archive )命令用于备份文件。tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。语法:

代码语言:javascript复制
> tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F <Script文件>][-K <文件>][-L <媒体容量>][-N <日期时间>][-T <范本文件>][-V <卷册名称>][-X <范本文件>][-<设备编号><存储密度>][--after-date=<日期时间>][--atime-preserve][--backuup=<备份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<范本样式>][--force-local][--group=<群组名称>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null] [--same-owner][--suffix=<备份字尾字符串>][--totals][--use-compress-program=<执行指令>][--version][--volno-file=<编号文件>][文件或目录...]
> -c:新建打包文件
> -t:查看打包文件的内容
> -x:解包或解压缩,可以搭配-C指定解压的目录,注意-c,-t,-x不能同时出现在同一条目录中
> -j:通过bzip2的支持进行压缩/解压缩
> -z:通过gzip的支持进行压缩/解压缩
> -v:在压缩/解压缩过程中,将正在处理的文件名显示出来
> -f filename:指定备份文件
> -C dir 指定压缩/解压缩的目录

1.4.2 bzip2 命令

Linux bzip2命令是.bz2文件的压缩程序。

bzip2采用新的压缩演算法,压缩效果比传统的LZ77/LZ78压缩演算法来得好。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

语法:

代码语言:javascript复制
> bzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]
> -d:执行解压缩
> -f: bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。
> -k:bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
> -v:压缩或解压缩文件时,显示详细的信息。

1.5 进程相关命令

1.5.1 jps 命令

显示当前系统的Java进程情况,及其id号。jps(Java Virtual Machine Process Status)是JDK1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在Linux/Unix平台上简单查看当前java进程的一些简单情况。

1.5.2 ps 命令

ps(process)命令用于将某个时间点的进程运行情况选取下来并输出。

代码语言:javascript复制
> ps -A:所有的进程均显示出来
> ps -a:不予terminal有关的所有进程
> ps -u:有效用户的相关进程
> ps -x:一般与参数a一起使用,可列出完整的信息
> ps -l:较长、较详细地将PID的信息列出

0 人点赞