Linux常用命令
一.关机和查看系统信息的命令
1.poweroff命令用来关闭计算机操作系统并且切断系统电源。
选项:-f:强制关闭操作系统;
等等....
2.shutdown命令用来系统关机命令。shutdown指令可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。
选项:-r :shutdown之后重新启动;
-h :将系统关机
等等....
3.reboot命令用来重新启动正在运行的Linux操作系统。
选项:-f:强制重新开机,不调用shutdown指令的功能;
-i:在重开机之前,先关闭所有网络界面;
-w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件(做个重开机的模拟(只有纪录并不会真的重开机))
等等.....
4.halt命令用来关闭正在运行的Linux操作系统。
选项:-d:不要在wtmp中记录(关闭系统,但不留下纪录);
-p:halt之后,执行poweroff(关闭系统后关闭电源);
-i:在halt之前,关闭全部的网络界面;
-i:在halt之前,关闭全部的网络界面;
等等....
二.线上查询及帮助命令
1.man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
语法:man(选项)(参数)
选项:-a:在所有的man帮助手册中搜索;
-P:指定内容时使用分页程序;
等等...
参数:*数字:指定从哪一本man手册中搜索帮助;
*关键字:指定要搜索帮助的关键字
2.help命令用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。而对于外部命令的帮助信息只能使用man或者info命令查看。
语法:help(选项)(参数)
选项:-s:输出短格式的帮助信息。仅包括命令格式。
参数:内部命令:指定需要显示帮助信息的shell内部命令。
三.文件和目录操作命令
1.ls命令用来显示目标列表
选项:-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-k:以KB(千字节)为单位显示文件大小;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。
2.cd命令用来切换工作目录至dirname。 其中dirName表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的home directory(也就是刚login时所在的目录)。另外,~也表示为home directory的意思,.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。
例:cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);
cd ../.. 返回上两级目录;
cd !$ 把上个命令的参数作为cd参数使用。
3.cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。
选项:-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-p:保留源文件或目录的属性;
等等...
4.mkdir命令用来创建目录。该命令创建由dirname命名的目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
语法:mkdir (选项)(参数)
选项:-p或--parents 若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
--version 显示版本信息。
参数:目录:指定要创建的目录列表,多个目录之间用空格隔开。
5.rmdir命令用来删除空目录。注意:子目录被删除之前应该是空目录。虽然还可以用带有-r选项的rm命令递归删除一个目录中的所有文件和该目录本身,但是这样做存在很大的危险性。
语法:rmdir(选项)(参数)
选项:-p或--parents:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
-v或-verboes:显示命令的详细执行过程;
--help:显示命令的帮助信息;
--version:显示命令的版本信息。
参数:目录列表:要删除的空目录列表。当删除多个空目录时,目录名之间使用空格隔开。
6.rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
语法:rm (选项)(参数)
选项: -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
参数:文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
注意:rm -rf /* 炒鸡危险,有老师在场的情况下不要执行,不然直接原地裂开!!!!!!!!
7.以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知你目前所在的工作目录的绝对路径名称。
语法:pwd(选项)
选项:--help:显示帮助信息;
--version:显示版本信息。
8.rename命令用字符串替换的方式批量改变文件名。(改名字)
语法:rename(参数)
参数:原字符串:将文件名需要替换的字符串;
目标字符串:将文件名中含有的原字符替换成目标字符串;
文件:指定要改变文件名的文件列表。
9.mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:
- 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
- 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。
注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
语法:mv(选项)(参数)
选项:-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
-b:当文件存在时,覆盖前,为其创建一个备份;
等等···
参数:源文件:源文件列表。
目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。
10.touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
语法:touch(选项)(参数)
选项:-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。
参数:文件:指定要设置时间属性的文件列表
11.file命令是用来检测并显示文件类型
语法:file(选项)(参数)
选项:-b:列出辨识结果时,不显示文件名称;
-c:详细显示指令执行过程,便于排错或分析程序执行的情形;
-f<名称文件>:指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称;
-L:直接显示符号连接所指向的文件类别;
-m<魔法数字文件>:指定魔法数字文件;
-v:显示版本信息;
-z:尝试去解读压缩文件的内容。
参数:文件:要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
12.cut
四.查看文件及内容处理命令
1.cat经常用来显示文件的内容
语法:cat(选项)(参数)
选项:-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
参数:文件列表:指定要连接的文件列表。
2.tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。
语法:tac(选项)(参数)
选项:-a或——append:将内容追加到文件的末尾;
-i或——ignore-interrupts:忽略中断信号。
参数:文件列表:指定要保存内容的文件列表
3.more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
语法:more(语法)(参数)
选项: -<数字>:指定每屏显示的行数;
-d:显示“[press space to continue,'q' to quit.]”和“[Press 'h' for instructions]”;
-c:不进行滚屏操作。每次刷新这个屏幕;
-s:将多个空行压缩成一行显示;
-u:禁止下划线;
+<数字>:从指定数字的行开始显示。
参数:文件:指定分页显示内容的文件。
常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
4.less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键
5.head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容
命令格式:
head [参数] [文件]
参数:
-
- -q 隐藏文件名
- -v 显示文件名
- -c<数目> 显示的字节数。
- -n<行数> 显示的行数
6.tail 命令可用于查看文件的尾部的内容 ,类似宇head命令,
命令格式:
tail [参数] [文件]
参数:
-
-
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
- --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
-
7.grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
8. wc命令用于计算字数。利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
语法:wc [-clw][--help][--version][文件...]
参数:
-
- -c或--bytes或--chars 只显示Bytes数。
- -l或--lines 只显示行数。
- -w或--words 只显示字数。
- --help 在线帮助。
- --version 显示版本信息。
9.stat 查看文件状态信息
10.sort 文本排序
常见参数:-b 忽略每行前面开始出的空格字符
-n 依照数值的大小排序
-r 以相反的顺序来排序
11.uniq可检查文本文件中重复出现的行列
常见参数:-c或--count 在每列旁边显示该行重复出现的次数
-d或--repeated 仅显示重复出现的行列
-u或--unique 仅显示出一次的行列
12.dd 备份文件
常见参数:-if=文件名:输入文件名,默认为标准输入。即指定源文件
-of=文件名:输出文件名,默认为标准输出。即指定目的文件
-count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数
13.locate命令用于查找符合条件的文档(6版本无此命令)
常见参数:-b, --basename -- 仅匹配路径名的基本名称
-c, --count -- 只输出找到的数量
-0, --null -- 在输出上带有NUL的单独条目
-n -- 至多显示 n个输出
14.find 用来在指定目录下查找文件
用户管理命令:
1.who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
语法:who - [husfV] [user]
参数:-H 或 --heading:显示各栏位的标题信息列;
-i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
-m:此参数的效果和指定"am i"字符串相同;
-q 或--count:只显示登入系统的帐号名称和总人数;
-s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
-w 或-T或--mesg或--message或--writable:显示用户的信息状态栏;
--help:在线帮助;
--version:显示版本信息。
2.whoami命令用于显示自身用户名称。显示自身的用户名称,本指令相当于执行"id -un"指令
语法:whoami [--help][--version]
参数:
--help 在线帮助。
--version 显示版本信息
3.w命令用于显示目前登入系统的用户信息。执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
语法:w [-fhlsuV][用户名称]
参数:-f 开启或关闭显示用户从何处登入系统。
-h 不显示各栏位的标题信息列。
-l 使用详细格式列表,此为预设值。
-s 使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
-u 忽略执行程序的名称,以及该程序耗费CPU时间的信息。
-V 显示版本信息
4.su(英文全拼:swith user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
语法:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
参数:-f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 或 --preserve-environment 执行 su 时不改变环境变数
-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
-s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
--help 显示说明文件
--version 显示版本资讯
- -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 rootUSER 欲变更的使用者帐号
ARG 传入新的 shell 参数使用权限:所有使用者。
命令的别名设置:
1.alias命令用于设置指令的别名。用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。
语法:alias[别名]=[指令名称]
参数说明:若不加任何参数,则列出目前所有的别名设置。
2.unalias命令用于删除别名。unalias为shell内建指令,可删除别名设置。
语法:unalias [-a][别名]
参数:-a 删除全部的别名
关于时间的命令:
1.cal 用于显示当前日历,或者指定日期的日历。
语法:cal(选项)(参数)
选项:-l:显示单月输出;
-3:显示临近三个月的日历;
-s:将星期日作为月的第一天;
-m:将星期一作为月的第一天;
-j:显示“julian”日期;
-y:显示当前年的日历。
参数:月:指定月份
年:指定年份
2.date命令可以用来显示或设定系统的日期与时间,
语法:date(选项)(参数)
选项:-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT; --help:在线帮助;
--version:显示版本信息。
参数:<+时间日期格式>:指定显示时使用的日期时间格式。
日期格式字符串列表:
%H 小时,24小时制(00~23) %I 小时,12小时制(01~12) %k 小时,24小时制(0~23) %l 小时,12小时制(1~12) %M 分钟(00~59) %p 显示出AM或PM %r 显示时间,12小时制(hh:mm:ss %p) %s 从1970年1月1日00:00:00到目前经历的秒数 %S 显示秒(00~59) %T 显示时间,24小时制(hh:mm:ss) %X 显示时间的格式(%H:%M:%S) %Z 显示时区,日期域(CST) %a 星期的简称(Sun~Sat) %A 星期的全称(Sunday~Saturday) %h,%b 月的简称(Jan~Dec) %B 月的全称(January~December) %c 日期和时间(Tue Nov 20 14:12:58 2012) %d 一个月的第几天(01~31) %x,%D 日期(mm/dd/yy) %j 一年的第几天(001~366) %m 月份(01~12) %w 一个星期的第几天(0代表星期天) %W 一年的第几个星期(00~53,星期一为第一天) %y 年的最后两个数字(1999则是99)
其他 :
1.clear命令用于清除屏幕
2.ln 为某一个文件在另外一个位置建立一个同步的链接。
语法 :ln [参数][源文件或目录][目标文件或目录]
常见参数:-b 删除,覆盖以前建立的链接
-s 软链接(符号链接)
注意:软链接:
- 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 2.软链接可以 跨文件系统 ,硬链接不可以
- 3.软链接可以对一个不存在的文件名进行链接
- 4.软链接可以对目录进行链接
硬链接:
-
- 1.硬链接,以文件副本的形式存在。但不占用实际空间。
- 2.不允许给目录创建硬链接
- 3.硬链接只有在同一个文件系统中才能创建
浙公网安备 33010602011771号