欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Liunx命令(一)

程序员文章站 2022-03-13 12:19:59
常用命令: ls:是list的简称。默认情况下用来打印出当前目录的列表。使用命令:ls [选项] [文件目录] -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件。-A同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。-c 配合 -lt:根据 ctime 排序 ......

常用命令:

ls:是list的简称。默认情况下用来打印出当前目录的列表。使用命令:ls [选项] [文件目录]

-a–all 列出目录下的所有文件,包括以 . 开头的隐含文件。
-A-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序
-C 每栏由上至下列出项目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是’never’、’always’或’auto’其中之一
-d–directory 将目录象文件一样显示,而不是显示其下的文件。
-D–dired 产生适合 Emacs 的 dired 模式使用的结果
-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-g 类似-l,但不列出所有者
-G–no-group 不列出任何有关组的信息
-h–human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 类似 -h,但文件大小取 1000 的次方而不是 1024
-H–dereference-command-line 使用命令列中的符号链接指示的真正目的地
–indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:none (默认),classify (-F),file-type (-p)
-i–inode印出每个文件的 inode 号
-I–ignore=样式 不印出任何符合 shell 万用字符<样式>的项目
-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-L–dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-m所有项目以逗号分隔,并填满整行行宽
-o 类似 -l,显示文件的除组信息外的详细信息。
-r–reverse 依相反次序排列
-R–recursive 同时列出所有子目录层
-s–size 以块大小为单位列出所有文件的大小
-S 根据文件大小排序

-t 以文件修改时间排序
-u 配合 -lt:显示访问时间而且依访问时间排序

-U 不进行排序;依文件系统原有的次序列出项目
-v 根据版本进行排序
-w–width=COLS 自行指定屏幕宽度而不使用目前的数值
-x 逐行列出项目而不是逐栏列出
-X 根据扩展名排序
-1 每行只列出一个文件
–help 显示此帮助信息并离开
–version 显示版本信息并离开

cd:Linux中最基础的命令。用于切换当前目录至dirName。使用命令:cd  [目录名]   

*Linux中使用“\”进入根目录。

pwd:查看当前工作目录的完整路径。使用命令:pwd[选项]

-L 目录连接链接时,输出连接路径

-P 输出物理路径

mkdir:用于在指定位置创建文件夹或目录。使用命令:mkdir  [选项] [目录]

-m, —mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask

-p--parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;

-v--verbose - 每次创建新目录都显示信息

rm:删除文件和目录。使用命令:rm  [选项] 文件名

-f--force 忽略不存在的文件,从不给出提示。

-i--interactive 进行交互式删除

-r-R--recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。

-v--verbose 详细显示进行的步骤

rmdir :删除空目录,即与rm项目,其差别在于删除的目录必须是空的。使用命令:rmdir [选项] 目录名。

- p递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

-v--verbose 显示指令执行过程

mv:move的缩写。移动文件或者给文件改名。使用命令:mv [选项] 源文件或目录 目标文件或目录。

-b:若需覆盖文件,则覆盖前先行备份。

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会更新(update)

-t : —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

cp:命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数

使用命令:cp [选项] ...[-T] 源 目的 或 cp [选项] ...源...目录 或 cp[选项]  -t 目录 源...

-a--archive - 等于-dR --preserve=all--backup[=CONTROL为每个已存在的目标文件创建备份

-b - 类似 --backup 但不接受参数 --copy-contents 在递归处理是复制特殊文件内容

-d - 等于--no-dereference --preserve=links

-f--force - 如果目标文件无法打开则将其移除并重试(当 -n 选项 存在时则不需再选此项)

-i--interactive - 覆盖前询问(使前面的 -n 选项失效)

-H - 跟随源文件中的命令行符号链接

-l--link - 链接文件而不复制

-L--dereference - 总是跟随符号链接

-n--no-clobber - 不要覆盖已存在的文件(使前面的 -i 选项失效)

-P--no-dereference - 不跟随源文件中的符号链接

-p - 等于--preserve=模式,所有权,时间戳

--preserve[=属性列表 保持指定的属性(默认:模式,所有权,时间戳)

-R-r--recursive 复制目录及目录内的所有项目

不常用命令:

touch:用于修改文件时间戳,或者新建一个不存在的文件。 使用命令:touch [选项] 文件

-a--time=atime--time=access--time=use 只更改存取时间。

-c 或--no-create不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。

-m 或--time=mtime--time=modify  只更改变动时间。

-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。

-t 使用指定的日期时间,而非现在的时间。

 cat:链接文件或标准输入并打印。常用于显示文件内容,或者将几个问价连接起来显示,或者从标准输入读取内容并显示,常与重定向符配合使用。使用命令:cat [选项] [文件]

三大功能:

  1. 一次显示整个文件:cat filename
  2. 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
  3. 将几个文件合并为一个文件:cat file1 file2 > file

选项:

  • -A--show-all 等价于 -vET
  • -b--number-nonblank 对非空输出行编号
  • -e 等价于 -vE
  • -E--show-ends 在每行结束处显示$
  • -n--number 对输出的所有行编号,由1开始对所有输出的行数编号
  • -s--squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
  • -t 与 -vT 等价
  • -T--show-tabs 将跳格字符显示为 ^I
  • -u (被忽略)
  • -v--show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

nl:用于计算文件中的行号。nl可以将输出的文件内容自动加上行号,默认的结果与cat -n不太一样。nl可以对行号做比较多的显示设计,包括位数是否自动补齐0等等的功能。使用命令:nl [选项] [文件]

-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

-n :列出行号表示的方法,主要有三种:

-n ln :行号在萤幕的最左方显示;

-n rn :行号在自己栏位的最右方显示,且不加 0 ;

-n rz :行号在自己栏位的最右方显示,且加 0 ;

-w :行号栏位的占用的位数。

-p 在逻辑定界符处不重新开始计算。

more:功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。使用命令:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

+n 从笫n行开始显示

-n 定义屏幕大小为n

+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

-c 从顶部清屏,然后显示

-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

-l 忽略Ctrl+l(换页)字符

-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s 把连续的多个空行显示为一行

-u 把文件内容中的下画线去掉

操作命令:

Enter 向下n行,需要定义。默认为1

Ctrl+F 向下滚动一屏

空格键 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

V 调用vi编辑器

! 命令, 调用Shell,并执行命令

q 退出more

less:less命令也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。使用命令:less [参数] 文件

-b <缓冲区大小> 设置缓冲区的大小

-e 当文件显示结束后,自动离开

-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g 只标志最后搜索的关键词

-i 忽略搜索时的大小写

-m 显示类似more命令的百分比

-N 显示每行的行号

-o <文件名> 将less 输出的内容在指定文件中保存起来

-Q 不使用警告音

-s 显示连续空行为一行

-S 行过长时间将超出部分舍弃

-x <数字> 将“tab”键显示为规定的数字空格

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

b 向后翻一页

d 向后翻半页

h 显示帮助界面

Q 退出less 命令

u 向前滚动半页

y 向前滚动一行

空格键 滚动一行

回车键 滚动一页

[pagedown]: 向下翻动一页

[pageup]: 向上翻动一页

附加备注:

全屏导航:

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏    

单行导航:

j - 向前移动一行

k - 向后移动一行

其它导航:

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

其它有用的命令:

v - 使用配置的编辑器编辑当前文件

h - 显示 less 的帮助文档

&pattern - 仅显示匹配模式的行,而不是整个文件

标记导航:

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

ma - 使用 a 标记文本的当前位置

‘a - 导航到标记 a 处

head:用于显示文件开头某个数量的文字区块。使用命令:head [参数] [文件]

-q 隐藏文件名

-v 显示文件名

-c<字节> 显示字节数

-n<行数> 显示的行数

tail:从指定点开始将文件写到标准输出。使用命令:tail [必要参数] [选择参数] [文件]

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束。

-q--quiet--silent 从不输出给出文件名的首部。

-s--sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

文件查找命令:

which:查看可执行文件的位置。在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。使用命令:which 可执行文件名称。

-n - 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p - 与-n参数相同,但此处的包括了文件的路径。

-w - 指定输出时栏位的宽度。

-V - 显示版本信息

 whiereis:whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。使用命令:whieris [-bmsu] [BMS -目录名 -f] 文件名

-b - 定位可执行文件。

-m - 定位帮助文件。

-s - 定位源代码文件。

-u - 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

-B - 指定搜索可执行文件的路径。

-M - 指定搜索帮助文件的路径。

-S - 指定搜索源代码文件的路径。

locate:locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。locate [选择参数] [样式]

-e - 将排除在寻找的范围之外。

-1 - 如果是1。则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的权限资料。

-f - 将特定的档案系统排除在外,例如没有到理要把 proc 档案系统中的档案放在资料库中。

-q 安静模式,不会显示任何错误讯息。

-n 至多显示 n 个输出。

-r 使用正规运算式 做寻找的条件。

-o 指定资料库存的名称。

-d 指定资料库的路径

-h 显示辅助讯息

-V 显示程式的版本讯息

find:在文件树中查找文件,并做出相应的处理。语法:find pathname -options [-print -exec -ok]

命令参数

  • pathname - find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
  • -print - find命令将匹配的文件输出到标准输出。
  • -exec - find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } \;,注意{ }和\;之间的空格。
  • -ok - 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

命令选项

  • -name 按照文件名查找文件。
  • -perm 按照文件权限来查找文件。
  • -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
  • -user 按照文件属主来查找文件。
  • -group 按照文件所属的组来查找文件。
  • -mtime -n +n 按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime-ctime 选项,但它们都和-m time选项。
  • -nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
  • -nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
  • -newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
  • -type 查找某一类型的文件,诸如:
  • b - 块设备文件。
  • d - 目录。
  • c - 字符设备文件。
  • p - 管道文件。
  • l - 符号链接文件。
  • f - 普通文件。
  • -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
  • -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
  • -mount:在查找文件时不跨越文件系统mount点。
  • -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
  • -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

  • -amin n 查找系统中最后N分钟访问的文件
  • -atime n 查找系统中最后n*24小时访问的文件
  • -cmin n 查找系统中最后N分钟被改变文件状态的文件
  • -ctime n 查找系统中最后n*24小时被改变文件状态的文件
  • -mmin n 查找系统中最后N分钟被改变文件数据的文件
  • -mtime n 查找系统中最后n*24小时被改变文件数据的文件