用于查找文件

会在环境变量$PATH设置的目录里查找符合条件的文件

语法

php面试常见linux命令面试必备 Linux 敕令 NoSQL

which [文件...]

参数

-n<文件名长度>  指定文件名长度,指定的长度必须大于或即是所有文件中最长的文件名。
-p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w  指定输出时栏位的宽度。
-V  显示版本信息。

实例

利用指令\"大众which\公众查看指令\"大众bash\公众的绝对路径

上面的指令实行后,输出信息如下所示:

1.2 cp

复制文件或目录

语法

cp [options] source destcp [options] source... directory

参数:

-a:此选项常日在复制目录时利用,它保留链接、文件属性,并复制目录下的所有内容。
其浸染即是dpR参数组合。
-d:复制时保留链接。
这里所说的链接相称于Windows系统中的快捷办法。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,哀求用户确认是否覆盖,回答\"大众y\"大众时目标文件将被覆盖。
-p:除复制文件的内容外,还把修正韶光和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件-l:不复制文件,只是天生链接文件。

1.3 chmod

文件调用权限三级 : 文件拥有者、群组、其他

利用 chmod 掌握文件如何被他人所调用。

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

chmod也可以用数字来表示权限如 :

chmod abc file

个中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

若要rwx属性则4+2+1=7;

若要rw-属性则4+2=6;

若要r-x属性则4+1=5。

将文件 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt将文件 file1.txt 设为所有人皆可读取 chmod a+r file1.txt将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :chmod ug+w,o-w file1.txt file2.txt将 ex1.py 设定为只有该文件拥有者可以实行 chmod u+x ex1.py将目前目录下的所有文件与子目录皆设为任何人可读取 chmod -R a+r 此外chmod也可以用数字来表示权限如 :chmod 777 file语法为:chmod abc file个中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=5。
chmod a=rwx file和chmod 777 file效果相同chmod ug=rwx,o=x file和chmod 771 file

1.4 cat

功能:连接文件并打印到标准输出设备

cat [-AbeEnstTuv] [--help] [--version] fileName

-n 或 --number:由 1 开始对所有输出的行数编号

-b 或 --number-nonblank:和 -n 相似,只不过对付空缺行不编号

实例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空缺行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

cat 也可以用来制作镜像文件。
例如要制作软盘的镜像文件,将软盘放好后输入:

cat /dev/fd0 > OUTFILE

相反的,如果想把 image file 写到软盘,输入:

cat IMG_FILE > /dev/fd0

1.5 more

类似 cat ,不过会以一页一页的形式显示,更方便利用者逐页阅读,而最基本的指令便是按空缺键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有征采字串的功能(与 vi 相似),利用中的解释文件,请按 h

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数

-num 一次显示的行数-d 提示利用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果利用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声-l 取消遇见分外字元 ^L(送纸字元)时会停息的功能-f 打算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)-p 不以卷动的办法显示每一页,而是先打消萤幕后再显示内容-c 跟 -p 相似,不同的是先显示内容再打消其他旧资料-s 当碰着有连续两行以上的空缺行,就代换为一行的空缺行-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)+/pattern 在每个文档显示前征采该字串(pattern),然后从该字串之后开始显示+num 从第 num 行开始显示fileNames 欲显示内容的文档,可为复数个数

实例

逐页显示 testfile 文档内容,如有连续两行以上空缺行则以一行空缺行显示。
more -s testfile从第 20 行开始显示 testfile 之文档内容。
more +20 testfile

1.6 tac

从末了一行开始显示内容,并将所有内容输出

1.7 head

只显示前几行

1.8 tail

查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件

tail -10 someFile

查看文件后 10 行内容

head -10 someFile

查看文件前 10 行内容

tail -f someFile

用于调试,实时查看文件内容,会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容

tail [参数] [文件]

-f 循环读取-q 不显示处理信息-v 显示详细的处理信息-c<数目> 显示的字节数-n<行数> 显示行数--pid=PID 与-f合用,表示在进程ID,PID去世掉之后结束.-q, --quiet, --silent 从不输出给出文件名的首部-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

实例

要显示 notes.log 文件末了 10 行tail notes.log要跟踪名为 notes.log 的文件增长情形tail -f notes.log此命令显示 notes.log 文件末了 10 行当将某些行添加至 notes.log 文件时,tail 命令会连续显示这些行显示一贯连续,直到您按下(Ctrl-C)组合键停滞显示。
显示文件 notes.log 的内容,从第 20 行至文件末端:tail +20 notes.log显示文件 notes.log 的末了 10 个字符:tail -c 10 notes.log

1.9 nl

和 cat 一样,只是 nl 要显示行号

1.10 make

编译

-j :指定作业数。

1.11 man rm ( rm --help )

查看帮助

1.12 scp

Linux之间复制文件和目录

scp是secure copy的简写,是linux系统下基于ssh上岸进行安全的远程文件拷贝命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨做事器,而且scp传输是加密的

我们须要得到远程做事器上的某个文件,远程做事器没有配置ftp做事器,没有开启web做事器,也没有做共享,无法通过常规路子得到文件时,只须要通过scp命令便可轻松的达到目的我们须要将本机上的文件上传到远程做事器上,远程做事器没有开启ftp做事器或共享,无法通过常规路子上传是,只须要通过scp命令便可以轻松的达到目的

语法

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-I identity_file][-l limit] [-o ssh_option] [-P port] [-S program][[user@]host1:]file1 [...] [[user@]host2:]file2

大略单纯写法:

scp [可选参数] file_source file_target

参数解释:

-1: 逼迫scp命令利用协议ssh1-2: 逼迫scp命令利用协议ssh2-4: 逼迫scp命令只利用IPv4寻址-6: 逼迫scp命令只利用IPv6寻址-B: 利用批处理模式(传输过程中不讯问传输口令或短语)-C: 许可压缩。
(将-C标志通报给ssh,从而打开压缩功能)-p:保留原文件的修正韶光,访问韶光和访问权限。
-q: 不显示传输进度条。
-r: 递归复制全体目录。
-v:详细办法显示输出。
scp和ssh(1)会显示出全体过程的调试信息。
这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接通报给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接通报给ssh。
-i identity_file: 从指定文件中读取传输时利用的密钥文件,此参数直接通报给ssh。
-l limit: 限定用户所能利用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习气于利用ssh_config(5)中的参数通报办法,-P port:把稳是大写的P, port是指天命据传输用到的端口号-S program: 指定加密传输时所利用的程序。
此程序必须能够理解ssh(1)的选项。

实例

1、从本地复制到远程

命令格式:

1. scp local_file remote_username@remote_ip:remote_folder 或者 2. scp local_file remote_username@remote_ip:remote_file 或者 3. scp local_file remote_ip:remote_folder 或者 4. scp local_file remote_ip:remote_file

第1,2个指定了用户名,命令实行后须要再输入密码

第1个仅指定了远程的目录,文件名字不变

第2个指定了文件名

第3,4个没有指定用户名,命令实行后须要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

运用实例:

scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3

复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ip:remote_folder

第1个指定了用户名,命令实行后须要再输入密码

第2个没有指定用户名,命令实行后须要输入用户名和密码

运用实例:

scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ scp -r /home/space/music/ www.runoob.com:/home/root/others/

上面命令将本地 music 目录复制到远程 others 目录下。

2、从远程复制到本地

从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例

运用实例:

scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 scp -r www.runoob.com:/home/root/others/ /home/space/music/

解释

1.如果远程做事器防火墙有为scp命令设置了指定的端口,我们须要利用 -P 参数来设置命令的端口号,命令格式如下:

scp 命令利用端口号 4588

scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

2.利用scp命令要确保利用的用户具有可读取远程做事器相应文件的权限,否则scp命令是无法起浸染的。

1.13 awk

一种处理文本文件的措辞,是一个强大的文本分析工具.

之以是叫AWK是由于其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。

语法

awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value file(s)

选项参数解释:

-F fs or --field-separator fs指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
-v var=value or --asign var=value赋值一个用户定义变量。
-f scripfile or --file scriptfile从脚本文件中读取awk命令。
-mf nnn and -mr nnn对nnn值设置内在限定,-mf选项限定分配给nnn的最大块数目;-mr选项限定记录的最大数目。
这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
-W compact or --compat, -W traditional or --traditional在兼容模式下运行awk。
以是gawk的行为和标准的awk完备一样,所有的awk扩展都被忽略。
-W copyleft or --copyleft, -W copyright or --copyright打印简短的版权信息。
-W help or --help, -W usage or --usage打印全部awk选项和每个选项的简短解释。
-W lint or --lint打印不能向传统unix平台移植的构造的警告。
-W lint-old or --lint-old打印关于不能向传统unix平台移植的构造的警告。
-W posix打开兼容模式。
但有以下限定,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符和=不能代替^和^=;fflush无效。
-W re-interval or --re-inerval许可间隔正则表达式的利用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
-W source program-text or --source program-text利用program-text作为源代码,可与-f命令混用。
-W version or --version

基本用法

log.txt文本内容如下:

用法一

awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号

实例

每行按空格或TAB分割,输出文本中的1、4项

awk '{print $1,$4}' log.txt格式化输出

awk '{printf \"大众%-8s %-10s\n\"大众,$1,$4}' log.txt用法二:

awk -F #-F相称于内置变量FS, 指定分割字符

实例

利用\"大众,\"大众分割

awk -F, '{print $1,$2}' log.txt或者利用内建变量

awk 'BEGIN{FS=\"大众,\公众} {print $1,$2}' log.txt利用多个分隔符.先利用空格分割,然后对分割结果再利用\"大众,\"大众分割

awk -F '[ ,]' '{print $1,$2,$5}' log.txt用法三

awk -v # 设置变量

实例

awk -va=1 '{print $1,$1+a}' log.txt

awk -va=1 -vb=s '{print $1,$1+a,$1b}' log.txt

用法四

awk -f {awk脚本} {文件名}

实例

awk -f cal.awk log.txt

1.14 tree

Linux tree命令用于以树状图列出目录的内容。

实行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

语法

tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]参数解释:-a 显示所有文件和目录。
-A 利用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的变动韶光。
-f 在每个文件或目录之前,显示完全的相对路径名称。
-F 在实行文件,目录,Socket,符号连接,管道名称名称,各自加上\"大众\"大众,\"大众/\"大众,\"大众=\公众,\公众@\公众,\"大众|\公众号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I<范本样式> 不显示符合范本样式的文件或目录名称。
-l 如碰着性子为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括掌握字符。
-p 列出权限标示。
-P<范本样式> 只显示符合范本样式的文件或目录名称。
-q 用\"大众?\"大众号取代掌握字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的变动韶光排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以打消在探求范围外。

实例

以树状图列出当前目录构造。
可直策应用如下命令:

tree

1.15 touch

用于修正文件或者目录的韶光属性,包括存取韶光和变动韶光;

若文件不存在,系统会建立一个新的文件。

语法

touch [-acfm][-d<日期韶光>][-r<参考文件或目录>] [-t<日期韶光>][--help][--version][文件或目录…]

参数

a 改变档案的读取韶光记录。
m 改变档案的修正韶光记录。
c 如果目的档案不存在,不会建立新的档案。
与 --no-create 的效果一样。
f 不该用,是为了与其他 unix 系统的相容性而保留。
r 利用参考档的韶光记录,与 --file 的效果一样。
d 设定时间与日期,可以利用各种不同的格式。
t 设定档案的韶光记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。

实例

利用指令\"大众touch\"大众修正文件\"大众testfile\"大众的韶光属性为当前系统韶光,输入如下命令:

$ touch testfile #修正文件的韶光属性

首先,利用ls命令查看testfile文件的属性,如下所示:

$ ls -l testfile #查看文件的韶光属性 #原来文件的修正韶光为16:09 -rw-r--r-- 1 hdd hdd 55 2011-08-22 16:09 testfile

实行指令\"大众touch\"大众修正文件属性往后,并再次查看该文件的韶光属性,如下所示:

$ touch testfile #修正文件韶光属性为当前系统韶光

$ ls -l testfile #查看文件的韶光属性

修正后文件的韶光属性为当前系统韶光

-rw-r--r-- 1 hdd hdd 55 2011-08-22 19:53 testfile

利用指令\"大众touch\公众时,如果指定的文件不存在,则将创建一个新的空缺文件。
例如,在当前目录下,利用该指令创建一个空缺文件\公众file\"大众,输入如下命令:

$ touch file #创建一个名为“file”的新的空缺文件

1.16 chown

Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者.

将指定文件的拥有者改为指定的用户或组

用户可以是用户名或者用户ID组可以是组名或者组ID

文件因此空格分开的要改变权限的文件列表,支持通配符.

一样平常该指令只由系统管理者(root)利用,一样平常利用者没有权限可以改变文件拥有者,也没有权限变动自己的文件拥有者改设为别人。
只有系统管理者(root)才有这样的权限。

利用权限 : root

语法

chown [-cfhvR] [--help] [--version] user[:group] file...

参数

user : 新的文件拥有者的利用者 IDgroup : 新的文件拥有者的利用者组(group)-c : 显示变动的部分的信息-f : 忽略缺点信息-h :修复符号链接-v : 显示详细的处理信息-R : 处理指定目录以及其子目录下的所有文件--help : 显示赞助解释--version : 显示版本

实例

将文件 file1.txt 的拥有者设为 runoob,群体的利用者 runoobgroup :

chown runoob:runoobgroup file1.txt将目前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的利用者 runoobgroup:

chown -R runoob:runoobgroup 2 磁盘管理

2.1 pwd

显示事情目录

实行pwd指令可急速得知您目前所在的事情目录的绝对路径名称。

2.2 cd

切换当前事情目录至 dirName

若目录名称省略,则变换 home 目录

2.3 mkdir

建立名称为 dirName 子目录

-p 确保目录名称存在,不存在的就建一个

2.4 ls

显示指定事情目录下之内容(列出目前事情目录所含之文件及子目录)。

ls [-alrtAFR] [name...]

-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为\"大众.\公众的视为隐蔽档,不会列出)-h 用\"大众K\"大众,\"大众M\"大众,\"大众G\公众来显示文件和目录的大小。
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 = ll-r 将文件以相反次序显示(原定依英笔墨母次序)-t 将文件依建立韶光之先后次序列出-A 同 -a ,但不列出 \公众.\"大众 (目前目录) 及 \"大众..\公众 (父目录)-F 在列出的文件名称后加一符号;例如可实行档则加 \"大众\"大众, 目录则加 \"大众/\"大众-R 若目录下有文件,则以下之文件亦皆依序列出

列出根目录()下的所有目录:

# ls /bin dev lib media net root srv upload wwwboot etc lib64 misc opt sbin sys usrhome lost+found mnt proc selinux tmp var

列出目前事情目录下所有名称是 s 开头的文件,越新的排越后面 :

ls -ltr s

将 /bin 目录以下所有目录及文件详细资料列出 :

ls -lR /bin

列出目前事情目录下所有文件及目录;目录于名称后加 \"大众/\公众, 可实行档于名称后加 \"大众\公众 :

ls -AF

find / -name libNativeMethod.so

等同 ll |grep someFile

3 文档编辑

grep

用于查找文件里符合条件的字符串。

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

-r或--recursive 此参数的效果和指定\"大众-d recurse\公众参数相同。

-v或--revert-match 反转

反向查找。
前面各个例子是查找并打印出符合条件的行,通过\公众-v\"大众参数可以打印出不符合条件行的内容。

查找文件名中包含 test 的文件中不包含test 的行,此时,利用的命令为:

grep -v test test

4 系统管理

4.1 groupadd

创建一个新的事情组,新事情组的信息将被添加到系统文件中

语法 groupadd(选项)(参数)

g:指定新建事情组的[id](http://man.linuxde.net/id \公众id命令\"大众);-r:创建系统事情组,系统事情组的组ID小于500;-K:覆盖配置文件“/ect/[login](http://man.linuxde.net/login \"大众login命令\"大众).defs”;-o:许可添加组ID号不唯一的事情组。
</pre>参数 组名:指定新建事情组的组名实例 建立一个新组,并设置组ID加入系统

groupadd -g 344 linuxde

此时在/etc/passwd文件中产生一个组ID(GID)是344的项目

4.2 ps

显示当提高程 (process) 的状态

-A 显示进程信息

-u user 显示指定用户信息

-ef 显示所有命令,连带命令行

pstree |grep java 查看进程树

4.3 ifconfig

IP 地址配置,可以利用 setup 命令启动字符界面来配置

4.4 uname

用于显示系统信息

uname可显示电脑以及操作系统的干系信息。

语法

uname [-amnrsv][--help][--version]参数解释:

-a或--all  显示全部的信息。
-m或--machine  显示电脑类型。
-n或-nodename  显示在网络上的主机名称。
-r或--release  显示操作系统的发行编号。
-s或--sysname  显示操作系统名称。
-v  显示操作系统的版本。
--help  显示帮助。
--version  显示版本信息。

实例

显示系统信息

uname -a显示打算机类型

uname -m显示打算机名

显示操作系统发行编号

显示操作系统名称

显示系统韶光

rpm -aq|grep php

查看安装介质

grep someText

在当前目录所有文本中查找

env

环境配置,相称 window 下 set

env |grep PATH

查看环境变量

export

相称于 set classpath

echo

输出变量名

mv

用来为文件或目录改名、或将文件或目录移入其它位置。

语法

mv [options] source dest

mv [options] source... directory

参数解释:

-i: 若指定目录已有同名文件,则先讯问是否覆盖旧文件;-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

mv参数设置与运行结果

mv 文件名 文件名 :将源文件名改为目标文件名

mv 文件名 目录名 :将文件移动到目标目录

mv 目录名 目录名 :目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名

mv 目录名 文件名 :出错

实例

将文件 aaa 更名为 bbb :

mv aaa bbb

将info目录放入logs目录中。
把稳,如果logs目录不存在,则该命令将info改名为logs。

mv info/ logs

再如将/usr/student下的所有文件和目录移到当前目录下,命令行为:

$ mv /usr/student/ .

rm -r

递归删除, -f 表示 force

somefile

清空文件内容

which java

查看 java 进程对应的目录

who

显示当前用户

users

显示当前会话

zip -r filename.zip filesdir

某个文件夹打 zip 包

unzip somefile.zip

解压 zip 文档到当前目录

gunzip somefile.cpio.gz

解压 .gz

cpio -idmv < somefile.cpio

CPIO 操作

ps auxwww|sort -n -r -k 5|head -5

按资源占用情形来排序,第一个 5 表示第几列,第二个 5 表示前几位

hostname -I

显示本机机器名,添加 i ,显示 etc/hosts 对应 ip 地址

rpm

rpm -ivh some.rpm

安装软件

rpm -Uvh some.rpm

更新软件

rpm -qa |grep somesoftName

是否已安装某软件

5 备份压缩

tar

备份文件

是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

参数:

-f<备份文件>或--file=<备份文件> 指定备份文件。

-v或--verbose 显示指令实行过程。

-x或--extract或--get 从备份文件中还原文件。

-z或--gzip或--ungzip 通过gzip指令处理备份文件。

实例

压缩文件 非打包

# touch a.c # tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gza.c

列出压缩文件内容

# tar -tzvf test.tar.gz -rw-r--r-- root/root 0 2010-05-24 16:51:59 a.c

解压文件

tar -xzvf test.tar.gz a.c

打包

tar –cvzf somefile.tar.gz fileDir

shutdown -i6 -y 0

立即重启做事器

reboot

立即重启做事器,相称于 shutdow –r now

halt

立即关机, shutdown -h

shutdonw -r 23:30

shutdown -r +15

shutdonw -r +30

定时重启

gdmsetup

启动系统配置管理界面,须要在图形界面实行

setup

启动笔墨配置管理界面

vi /etc/sysconfig/network

修正机器名 , 然后要重启机器或者 service network restart

locale

显示系统措辞

export LANG=zh_CN.GBK

设定系统措辞,办理 consol 中文乱码

ln -s src_full_file the_link_name

创建软链接

last

倒序查看已上岸用户历史

history

查看历史命令

date -s 10/09/2009

修正日期

date -s 13:24:00

修正韶光,直接 date 显示韶光

df -k

查看文件磁盘空间

df -v

查看文件空间

du

查看磁盘空间利用情形

free

查看内存利用情形

6 系统管理

top

实时显示 process 的动态

d : 改变显示的更新速率,或是在交谈式指令列( interactive command)按 s

q : 没有任何延迟的显示速率,如果利用者是有 superuser 的权限,则 top 将会以最高的优先序实行

c : 切换显示模式,共有两种模式,一是只显示实行档的名称,另一种是显示完全的路径与名称S : 累积模式,会将己完成或消逝的子行程 ( dead child process ) 的 CPU time 累积起来

s : 安全模式,将交谈式指令取消, 避免潜在的危急

i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程

n : 更新的次数,完成后将会退出 top

b : 批次档模式,搭配 \"大众n\公众 参数一起利用,可以用来将 top 的结果输出到档案内

显示进程信息

top

显示完全命令

top -c

以批处理模式显示程序信息

top -b

以累积模式显示程序信息

top -S

设置信息更新次数

top -n 2

//表示更新两次后终止更新显示

设置信息更新韶光

top -d 3

//表示更新周期为3秒

显示指定的进程信息

top -p 139

//显示进程号为139的进程信息,CPU、内存占用率等

显示更新十次退却撤退出

top -n 10

利用者将不能利用交谈式指令来对行程下命令

top -s

将更新显示二次的结果输入到名称为 top.log 的档案里

top -n 2 -b < top.log

vmstat 5 10

没 5 秒刷新一次,刷新 10 次; time 、 timex 、 uptime 、 iostat 、 sar

cat /proc/cpuinfo|grep processor|wc – l

获取 cpu 个数

service

service <service>

打印指定做事<service>的命令行利用帮助。

service <service> start

启动指定的系统做事<service>

service <service> stop

停滞指定的系统做事<service>

service <service> restart

重新启动指定的系统做事<service>,即先停滞(stop),然后再启动(start)。

chkconfig --list

查看系统做事列表,以及每个做事的运行级别。

chkconfig <service> on

设置指定做事<service>开机时自动启动。

chkconfig <service> off

设置指定做事<service>开机时不自动启动。

ntsysv

以全屏幕文本界面设置做事开机时是否自动启动。

service mysqld start

启动 mysql 做事,其他如

service mysqld stop

停滞 mysql 做事

serice mysqld status

显示 mysql 做事状态

service –status-al

查看已有做事

Systemd

设计目标是,为系统的启动和管理供应一套完全的办理方案。

根据 Linux 老例,字母d是守护进程(daemon)的缩写。
Systemd 这个名字的含义,便是它要守护全体系统。

Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

systemctl

是 Systemd 的主命令,用于管理系统。

Systemd 可以管理所有系统资源。
不同的资源统称为 Unit(单位)。

Unit 一共分成12种。

Service unit:系统做事

Target unit:多个 Unit 构成的一个组

Device Unit:硬件设备

Mount Unit:文件系统的挂载点

Automount Unit:自动挂载点

Path Unit:文件或路径

Scope Unit:不是由 Systemd 启动的外部进程

Slice Unit:进程组

Snapshot Unit:Systemd 快照,可以切回某个快照

Socket Unit:进程间通信的 socket

Swap Unit:swap 文件

Timer Unit:定时器

systemctl list-units命令可以查看当前系统的所有 Unit 。

netstat -nap | grep port

7 系统设置

7.1 yum( Yellow dog Updater, Modified)

是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

基于RPM包管理,能够从指定的做事器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum供应了查找、安装、删除某一个、一组乃至全部软件包的命令,而且命令简洁而又好记。

语法

yum [options] [command] [package ...]options:可选,选项包括-h(帮助)-y当安装过程提示选择全部为\"大众yes\公众-q(不显示安装的过程)等等。
command:要进行的操作。
package操作的工具。

常用命令

1.列出所有可更新的软件清单命令:yum check-update

2.更新所有软件命令:yum update

3.仅安装指定的软件命令:yum install <package_name>

4.仅更新指定的软件命令:yum update <package_name>

5.列出所有可安裝的软件清单命令:yum list

6.删除软件包命令:yum remove <package_name>

7.查找软件包 命令:yum search <keyword>

8.打消缓存命令:

yum clean packages: 打消缓存目录下的软件包

yum clean headers: 打消缓存目录下的 headers

yum clean oldheaders: 打消缓存目录下旧的 headers

yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :打消缓存目录下的软件包及旧的headers

7.2 rpm (redhat package manager)

用于管理套件.

原来是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵照 GPL 规则且功能强大方便,因而广受欢迎。
逐渐受到其他发行版的采取.

RPM 套件管理办法的涌现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度.

参数

-a  查询所有套件。
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。
-c  只列出组态配置文件,本参数需合营\"大众-l\"大众参数利用。
-d  只列出文本文件,本参数需合营\"大众-l\公众参数利用。
-e<套件档>或--erase<套件档>  删除指定的套件。
-f<文件>+  查询拥有指定文件的套件。
-h或--hash  套件安装时列出标记。
-i  显示套件的干系信息。
-i<套件档>或--install<套件档>  安装指定的套件档。
-l  显示套件的文件列表。
-p<套件档>+  查询指定的RPM套件档。
-q  利用讯问模式,当碰着任何问题时,rpm指令会先讯问用户。
-R  显示套件的关联性信息。
-s  显示文件状态,本参数需合营\公众-l\公众参数利用。
-U<套件档>或--upgrade<套件档> 升级指定的套件档。
-v  显示指令实行过程。
-vv  详细显示指令实行过程,便于排错。
-addsign<套件档>+  在指定的套件里加上新的署名认证。
--allfiles  安装所有文件。
--allmatches  删除符合指定的套件所包含的文件。
--badreloc  发生缺点时,重新配置文件。
--buildroot<根目录>  设置产生套件时,欲当作根目录的目录。
--changelog  显示套件的变动记录。
--checksig<套件档>+  考验该套件的署名认证。
--clean  完成套件的包装后,删除包装过程中所建立的目录。
--dbpath<数据库目录>  设置欲存放RPM数据库的目录。
--dump  显示每个文件的验证信息。
本参数需合营\公众-l\"大众参数利用。
--excludedocs  安装套件时,不要安装文件。
--excludepath<打消目录>  忽略在指定目录里的所有文件。
--force  强行置换套件或文件。
--ftpproxy<主机名称或IP地址>  指定FTP代理做事器。
--ftpport<通信端口>  设置FTP做事器或代理做事器利用的通信端口。
--help  在线帮助。
--httpproxy<主机名称或IP地址>  指定HTTP代理做事器。
--httpport<通信端口>  设置HTTP做事器或代理做事器利用的通信端口。
--ignorearch  不验证套件档的构造精确性。
--ignoreos  不验证套件档的构造精确性。
--ignoresize  安装前不检讨磁盘空间是否足够。
--includedocs  安装套件时,一并安装文件。
--initdb  确认有精确的数据库可以利用。
--justdb  更新数据库,当不变动任何文件。
--nobulid  不实行任何完成阶段。
--nodeps  不验证套件档的相互关联性。
--nofiles  不验证文件的属性。
--nogpg  略过所有GPG的署名认证。
--nomd5  不该用MD5编码演算确认文件的大小与精确性。
--nopgp  略过所有PGP的署名认证。
--noorder  不重新编排套件的安装顺序,以便知足其彼此间的关联性。
--noscripts  不实行任何安装Script文件。
--notriggers  不实行该套件包装内的任何Script文件。
--oldpackage  升级成旧版本的套件。
--percent  安装套件时显示完成度百分比。
--pipe<实行指令>  建立管道,把输出结果转为该实行指令的输入数据。
--prefix<目的目录>  若重新配置文件,就把文件放到指定的目录下。
--provides  查询该套件所供应的兼容度。
--queryformat<档头格式>  设置档头的表示办法。
--querytags  列出可用于档头格式的标签。
--rcfile<配置文件>  利用指定的配置文件。
--rebulid<套件档>  安装原始代码套件,重新产生二进制文件的套件。
--rebuliddb  以现有的数据库为主,重修一份数据库。
--recompile<套件档>  此参数的效果和指定\公众--rebulid\"大众参数类似,当不产生套件档。
--relocate<原目录>=<新目录>  把本来会放到原目录下的文件改放到新目录。
--replacefiles  强行置换文件。
--replacepkgs  强行置换套件。
--requires  查询该套件所须要的兼容度。
--resing<套件档>+  删除现有认证,重新产生署名认证。
--rmsource  完成套件的包装后,删除原始代码。
--rmsource<文件>  删除原始代码和指定的文件。
--root<根目录>  设置欲当作根目录的目录。
--scripts  列出安装套件的Script的变量。
--setperms  设置文件的权限。
--setugids  设置文件的拥有者和所属群组。
--short-circuit  直接略过指定完成阶段的步骤。
--sign  产生PGP或GPG的署名认证。
--target=<安装平台>+  设置产生的套件的安装平台。
--test  仅作测试,并不真的安装套件。
--timecheck<检讨秒数>  设置检讨韶光的计时秒数。
--triggeredby<套件档>  查询该套件的包装者。
--triggers  展示套件档内的包装Script。
--verify  此参数的效果和指定\"大众-q\"大众参数相同。
--version  显示版本信息。
--whatprovides<功能特性>  查询该套件对指定的功能特性所供应的兼容度。
--whatrequires<功能特性>  查询该套件对指定的功能特性所须要的兼容度。

实例

安装软件

显示软件安装信息

chkconfig

检讨,设置系统的各种做事。

查询操作系统在每一个实行等级中会实行哪些系统做事

chkconfig [--add][--del][--list][系统做事] 或 chkconfig [--level <等级代号>][系统做事][on/off/reset]

参数:

--add  增加所指定的系统做事,让chkconfig指令得以管理它,并同时在系统启动的阐述文件内增加干系数据。
--del  删除所指定的系统做事,不再由chkconfig指令管理,并同时在系统启动的阐述文件内删除干系数据。
--level<等级代号>  指定读系统做事要在哪一个实行等级中开启或关毕。
列出chkconfig所知道的所有命令。
# chkconfig -list 开启做事。
# chkconfig telnet/mysqld on //开启Telnet/mysql做事# chkconfig -list //列出chkconfig所知道的所有的做事的情形关闭做事# chkconfig telnet off //关闭Telnet做事# chkconfig -list //列出chkconfig所知道的所有的做事的情形Ctrl命令

Ctrl C

kill foreground process

发送 SIGINT 旗子暗记给前台进程组中的所有进程,逼迫终止程序的实行

Ctrl Z

suspend foreground process

发送 SIGTSTP 旗子暗记给前台进程组中的所有进程,常用于挂起一个进程,而并非结束进程,用户可以利用利用fg/bg操作规复实行前台或后台的进程。
fg命令在前台规复实行被挂起的进 程,此时可以利用ctrl-z再次挂起该进程,bg命令在后台规复实行被挂起的进程,而此时将无法利用ctrl-z 再次挂起该进程;一个比较常用的功能:

正在利用vi编辑一个文件时,须要实行shell命令查询一些须要的信息,可以利用ctrl-z挂起vi,等实行 完shell命令后再利用fg规复vi连续编辑你的文件(当然,也可以在vi中利用!
command办法实行shell命令, 但是没有该方法方便)。

ctrl-d:

Terminate input, or exit shell

一个分外的二进制值,表示 EOF,浸染相称于在终端中输入exit后回车

ctrl-/

发送 SIGQUIT 旗子暗记给前台进程组中的所有进程,终止前台进程并天生 core 文件

ctrl-s

中断掌握台输出

ctrl-q

规复掌握台输出

ctrl-l

清屏

实在,掌握字符都是可以通过stty命令变动的,可在终端中输入命令\"大众stty -a\公众查看终端配置

kill

kill PID

杀掉某进程

kill -9 PID

此命令将旗子暗记 9(SIGKILL 旗子暗记)发送到有效用户拥有的所有进程,纵然是那些在其他事情站上启动以及属于其他进程组的进程也是如此。
如果一个您要求的列表正被打印,它也被停滞。

source

“点命令”,也便是一个点符号(.)

常用于重新实行刚修正的初始化文件,使之立即生效,而不必注销重登。

source filename 或 . filename

source命令除了上述的用场之外,还有一个体的一个用场。
在对编译系统核心时常常须要输入一长串的命令,如:

make mrpropermake menuconfigmake depmake cleanmake bzImage…………

如果把这些命令做成一个文件,让它自动顺序实行,对付须要多次反复编译系统核心的用户来说会很方便,而用source命令就可以做到这一点,它的浸染便是把一个文件的内容当成shell来实行,

先在linux的源代码目录下(如/usr/src/linux-2.4.20)建立一个文件,如make_command,在个中输入一下内容:

make mrproper &&make menuconfig &&make dep &&make clean &&make bzImage &&make modules &&make modules_install &&cp arch/i386/boot/bzImage /boot/vmlinuz_new &&cp System.map /boot &&vi /etc/lilo.conf &&lilo -v

文件建立好之后,每次编译核心的时候,只须要在/usr/src/linux-2.4.20下输入:

source make_command

即可,如果你用的不是lilo来勾引系统,可以把末了两行去掉,配置自己的勾引程序来勾引内核。

顺便补充一点,&&命令表示顺序实行由它连接的命令,但是只有它之前的命令成功实行完成了之后才可以连续实行它后面的命令。

whereis

只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man解释文件(参数-m)和源代码文件(参数-s)。
如果省略参数,则返回所有信息。

fuser

查询文件、目录、socket端口和文件系统的利用进程

1.查询文件和目录利用者

fuser最基本的用法是查询某个文件或目录被哪个进程利用:

# fuser -v ./ USER PID ACCESS COMMAND./: dailidong 17108 ..c.. bash root 25559 ..c.. sudo root 26772 ..c.. bash

2.查询端口利用者

# fuser -vn tcp 3306 USER PID ACCESS COMMAND3306/tcp: mysql 2535 F.... mysqld在 vim 命令模式

:noh 取消/ sth 的搜索结果高亮殊效

ip

查看本机的 IP 地址

ip addr show

结果

软件包管理器

apt-get是Debian、Ubuntu、Linux Mint、elementary OS等Linux发行版的默认软件包管理器

apt-get purge packagename 等同于 apt-get remove packagename --purge

apt-get remove

只删除软件包,不删除配置文件

apt-get purge

删除软件包并删除配置文件

配置文件只包括/etc目录中的软件做事利用的配置信息,不包括home目录中的

Linux 查看端口占用情形

可以利用 lsof 和 netstat 命令

lsof

lsof(list open files)是一个列出当前系统打开文件的工具.

语法

lsof 查看端口占用语法格式:

lsof -i:端口号

实例

查看RabbitMQ端口的占用情形

netstat -npl

查看端口

8 Linux常见问题与办理方案

1 Repository list的更新日期久远

yum判断你上次更新repository list的韶光太久远(2周以上),以是不让利用者操作yum,以避免安装到旧的软件包!

办理方案

打消yum repository缓存

sudo yum clean all

2 有些工具安装之后,除了要修正root下的.bashfile(也便是添加个环境变量) ,还要修正etc/profile 下的环境变量 , 两个profile是干什么用的?差异?

/etc/profile

每个用户登录时都会运行的环境变量设置,属于系统级别的环境变量

设置在里面的东西对所有用户适用

.bashfile

单用户登录时比如root会运行的,只对当前用户适用,而且只有在你利用的也是bash作为shell时才行. rpm是red hat,fedora,centos这几个发行版利用的安装包,和其它tar.gz的差异是有个文件头,多了一些信息。
rpm包多数是二进制文件,可以直接运行的,但tar.gz包很多是源代码,要编译后才能运行。
二进制文件和windows下的exe文件一个意思,可以直接运行。

gay hub

以上是我本日的分享,以为有收成的朋友们可以点个关注转发收藏一下哦