资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

linux上两层的命令 linux的shell有两层含义

linux中的命令有哪些?

linux命令有内部命令和外部命令之分。内部命令实际上是shell程序的一部分,其中包含的是一些比较简练的linux系统命令,这些命令由shell程序识别并在shell程序内部完成运行,通常在linux系统加载运行时shell就被加载并驻留在系统内存中。外部命令是linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以它们包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调进内存。通常外部命令的实体并不包含在shell中,但是其命令执行过程是由shell 程序控制的。shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。

在北流等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都做网站 网站设计制作按需网站设计,公司网站建设,企业网站建设,高端网站设计,全网整合营销推广,成都外贸网站制作,北流网站建设费用合理。

Linux系统最基本,经常用的命令有哪些呢?

Linux必学的60个命令(3)-系统管理

由 zhanjun 在 周四, 2006-04-13 12:41 提交

Linux必学的60个命令:系统管理相关命令

Linux必学的系统管理命令

作者:曹元其 发文时间:2004.10.18

对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。熟悉了Linux常用的文件处理命令以后,这一讲介绍对系统和用户进行管理的命令。

cat cd

chmod chown

cp cut

名称:cat

使用权限:所有使用者

使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName

说明:把档案串连接后传到基本输出(萤幕或加 fileName 到另一个档案)

参数:

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

-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

-v 或 --show-nonprinting

范例:

cat -n textfile1 textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

cat -b textfile1 textfile2 textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3

名称 : cd

使用权限 : 所有使用者

使用方式 : cd [dirName]

说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。

另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录。

范例 : 跳到 /usr/bin/ :

cd /usr/bin

跳到自己的 home directory :

cd ~

跳到目前目录的上上两层 :

cd ../..

指令名称 : chmod

使用权限 : 所有使用者

使用方式 : chmod [-cfvR] [--help] [--version] mode file...

说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。

把计 :

mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

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

-c : 若该档案权限确实已经更改,才显示其更改动作

-f : 若该档案权限无法被更改也不要显示错误讯息

-v : 显示权限变更的详细资料

-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

--help : 显示辅助说明

--version : 显示版本

范例 :将档案 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=7。

范例:

chmod a=rwx file

chmod 777 file

效果相同

chmod ug=rwx,o=x file

chmod 771 file

效果相同

若用chmod 4755 filename可使此程式具有root的权限

指令名称 : chown

使用权限 : root

使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...

说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

把计 :

user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)-c : 若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案-v : 显示拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help : 显示辅助说明--version : 显示版本

范例 :

将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie :

chown jessie:users file1.txt

将目前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport :

chmod -R lamport:users *

名称:cp

使用权限:所有使用者

使用方式:

cp [options] source dest

cp [options] source... directory

说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。

把计�

-a 尽可能将档案状态、权限等资料都照原状予以复制。

-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。

-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。

范例:

将档案 aaa 复制(已存在),并命名为 bbb :

cp aaa bbb

将所有的C语言程式拷贝至 Finished 子目录中 :

cp *.c Finished

名称:cut

使用权限:所有使用者

用法:cut -cnum1-num2 filename

说明:显示每行从开头算起 num1 到 num2 的文字。

范例:

shell cat example

test2

this is test1

shell cut -c0-6 example ## print 开头算起前 6 个字元

test2

this i

名称 : find

用法 : find

使用说明 :

将档案系统内符合 expression 的档案列出来。你可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression�

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

-mount, -xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比档案 file 更晚被读取过的档案

-atime n : 在过去 n 天过读取过的档案

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比档案 file 更新的档案

-ctime n : 在过去 n 天过修改过的档案

-empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写

-name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写

-size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。-type c : 档案类型是 c 的档案。

d: 目录

c: 字型装置档案

b: 区块装置档案

p: 具名贮列

f: 一般档案

l: 符号连结

s: socket

-pid n : process id 是 n 的档案

你可以使用 ( ) 将运算式分隔,并使用下列运算。

exp1 -and exp2

! expr

-not expr

exp1 -or exp2

exp1, exp2

范例:

将目前目录及其子目录下所有延伸档名是 c 的档案列出来。

# find . -name "*.c"

将目前目录其其下子目录中所有一般档案列出

# find . -ftype f

将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出

# find . -ctime -20

名称:less

使用权限:所有使用者

使用方式:

less [Option] filename

说明:

less 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 允许使用者往回卷动

以浏览已经看过的部份,同时因为 less 并未在一开始就读入整个档案,因此在遇上大型档案的开启时,会比一般的文书编辑器(如 vi)来的快速。

范例:

指令名称 : ln

使用权限 : 所有使用者

使用方式 : ln [options] source dist,其中 option 的格式为 :

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]

[--help] [--version] [--]

说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种 : 硬连结(hard link)与软连结(symbolic link),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。

ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

-f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist 同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v : 在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本

范例 :

将档案 yy 产生一个 symbolic link : zz

ln -s yy zz

将档案 yy 产生一个 hard link : zz

ln yy xx

名称:locate

使用权限:所有使用者

使用方式: locate [-q] [-d ] [--database=]

locate [-r ] [--regexp=]

locate [-qv] [-o ] [--output=]

locate [-e ] [-f ] [-l ] [-c]

[-U ] [-u]

locate [-Vh] [--version] [--help]

说明:

locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的资料库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系统之中了。

在一般的 distribution 之中,资料库的建立都被放在 contab 中自动执行。一般使用者在使用时只要用

# locate your_file_name

的型式就可以了。 参数:

-u

-U

建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置。

-e

排除在寻找的范围之外。

-l

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

-f

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

-q

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

-n

至多显示 个输出。

-r

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

-o

指定资料库存的名称。

-d

指定资料库的路径

-h

显示辅助讯息

-v

显示更多的讯息

-V

显示程式的版本讯息 范例:

locate chdrv : 寻找所有叫 chdrv 的档案

locate -n 100 a.out : 寻找所有叫 a.out 的档案,但最多只显示 100 个

locate -u : 建立资料库

名称 : ls

使用权限 : 所有使用者

使用方式 : ls [-alrtAFR] [name...]

说明 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。

-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)

-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出

-r 将档案以相反次序显示(原定依英文字母次序)

-t 将档案依建立时间之先后次序列出

-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)

-F 在列出的档案名称后加一符号;例如可执行档则加 "*", 目录则加 "/"

-R 若目录下有档案,则以下之档案亦皆依序列出

范例:

列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :

ls -ltr s*

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

ls -lR /bin

列出目前工作目录下所有档案及目录;目录于名称后加 "/", 可执行档于名称后加 "*" :

ls -AF

名称:more

使用权限:所有使用者

使用方式:more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

说明:类似 cat ,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

参数:-num 一次显示的行数

-d 提示使用者,在画面下方显示 [Press space to continue, q to quit.] ,如果使用者按错键,则会显示 [Press h for instructions.] 而不是 哔 声

-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能

-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)

-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料

-s 当遇到有连续两行以上的空白行,就代换为一行的空白行

-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

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

+num 从第 num 行开始显示

fileNames 欲显示内容的档案,可为复数个数

范例:

more -s testfile 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。

more +20 testfile 从第 20 行开始显示 testfile 之档案内容。

名称:mv

使用权限:所有使用者

使用方式:

mv [options] source dest

mv [options] source... directory

说明:将一个档案移至另一档案,或将数个档案移至另一目录。

参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。

范例:

将档案 aaa 更名为 bbb :

mv aaa bbb

将所有的C语言程式移至 Finished 子目录中 :

mv -i *.c

名称:rm

使用权限:所有使用者

使用方式:rm [options] name...

说明:删除档案及目录。

把计�

-i 删除前逐一询问确认。

-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

-r 将目录及以下之档案亦逐一删除。

范例:

删除所有C语言程式档;删除前逐一询问确认 :

rm -i *.c

将 Finished 子目录及子目录中所有档案删除 :

rm -r Finished

名称:rmdir

使用权限:于目前目录有适当权限的所有使用者

使用方式: rmdir [-p] dirName

说明: 删除空的目录。

参数: -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

范例:

将工作目录下,名为 AAA 的子目录删除 :

rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

rmdir -p BBB/Test

名称:split

使用权限:所有使用者

使用方式:split [OPTION] [INPUT [PREFIX]]

说明:

将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。

匡兜�

-b, --bytes=SIZE

SIZE 值为每一输出档案的大小,单位为 byte。

-C, --line-bytes=SIZE

每一输出档中,单行的最大 byte 数。

-l, --lines=NUMBER

NUMBER 值为每一输出档的列数大小。

-NUMBER

与 -l NUMBER 相同。

--verbose

于每个输出档被开启前,列印出侦错资讯到标准错误输出。

--help

显示辅助资讯然后离开。

--version

列出版本资讯然后离开。

SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。

范例:

PostgresSQL 大型资料库备份与回存:

因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 dump 到单一的档案可能会有问题,使用 split进行档案分割。

% pg_dump dbname | split -b 1m - filename.dump.

重新载入

% createdb dbname

% cat filename.dump.* | pgsql dbname

名称:touch

使用权限:所有使用者

使用方式:

touch [-acfm]

[-r reference-file] [--file=reference-file]

[-t MMDDhhmm[[CC]YY][.ss]]

[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]

[--no-create] [--help] [--version]

file1 [file2 ...]

说明:

touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。

参数:

a 改变档案的读取时间记录。

m 改变档案的修改时间记录。

c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

f 不使用,是为了与其他 unix 系统的相容性而保留。

r 使用参考档的时间记录,与 --file 的效果一样。

d 设定时间与日期,可以使用各种不同的格式。

t 设定档案的时间记录,格式与 date 指令相同。

--no-create 不会建立新档案。

--help 列出指令格式。

--version 列出版本讯息。

范例:

最简单的使用方式,将档案的时候记录改为现在的时间。若档案不存在,系统会建立一个新的档案。

touch file

touch file1 file2

将 file 的时间记录改为 5 月 6 日 18 点 3 分,公元两千年。时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。

touch -c -t 05061803 file

touch -c -t 050618032000 file

将 file 的时间记录改变成与 referencefile 一样。

touch -r referencefile file

将 file 的时间记录改成 5 月 6 日 18 点 3 分,公元两千年。时间可以使用 am, pm 或是 24 小时的格式,日期可以使用其他格式如 6 May 2000 。

touch -d "6:03pm" file

touch -d "05/06/2000" file

touch -d "6:03pm 05/06/2000" file

df

1.作用

df命令用来检查文件系统的磁盘空间占用情况,使用权限是所有用户。

2.格式

df [options]

3.主要参数

-s:对每个Names参数只给出占用的数据块总数。

-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。

-k:以1024字节为单位列出磁盘空间使用情况。

-x:跳过在不同文件系统上的目录不予统计。

-l:计算所有的文件大小,对硬链接文件则计算多次。

-i:显示inode信息而非块使用量。

-h:以容易理解的格式印出文件系统大小,例如136KB、254MB、21GB。

-P:使用POSIX输出格式。

-T:显示文件系统类型。

4.说明

df命令被广泛地用来生成文件系统的使用统计数据,它能显示系统中所有的文件系统的信息,包括总容量、可用的空闲空间、目前的安装点等。

超级权限用户使用df命令时会发现这样的情况:某个分区的容量超过了100%。这是因为Linux系统为超级用户保留了10%的空间,由其单独支配。也就是说,对于超级用户而言,他所见到的硬盘容量将是110%。这样的安排对于系统管理而言是有好处的,当硬盘被使用的容量接近100%时系统管理员还可以正常工作。

5.应用实例

Linux支持的文件系统非常多,包括JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、vfat、MSDOS等。使用df -T命令查看磁盘空间时还可以得到文件系统的信息:

#df -T

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/hda7 reiserfs 5.2G 1.6G 3.7G 30% /

/dev/hda1 vfat 2.4G 1.6G 827M 66% /windows/C

/dev/hda5 vfat 3.0G 1.7G 1.3G 57% /windows/D

/dev/hda9 vfat 3.0G 2.4G 566M 82% /windows/E

/dev/hda10 NTFS 3.2G 573M 2.6G 18% /windows/F

/dev/hda11 vfat 1.6G 1.5G 23M 99% /windows/G

从上面除了可以看到磁盘空间的容量、使用情况外,分区的文件系统类型、挂载点等信息也一览无遗。

top

1.作用

top命令用来显示执行中的程序进程,使用权限是所有用户。

2.格式

top [-] [d delay] [q] [c] [S] [s] [i] [n]

3.主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

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

4.说明

top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。

图1 top命令的显示

在图1中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起 (Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。

PID(Process ID):进程标示号。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间。

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

空格:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

5.应用实例

使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。

图2 使用top命令监视指定用户

free

1.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式

free [-b|-k|-m] [-o] [-s delay] [-t] [-V]

3.主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

4.应用实例

free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

#free -b -s5

使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

quota

1.作用

quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户。

2.格式

quota [-g][-u][-v][-p] 用户名 组名

3.参数

-g:显示用户所在组的磁盘使用限制。

-u:显示用户的磁盘使用限制。

-v:显示没有分配空间的文件系统的分配情况。

-p:显示简化信息。

4.应用实例

在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况。要查询自己的磁盘配额可以使用下面命令(下例中用户账号是caojh):

#quota caojh

Disk quotas for user caojh(uid 502):

Filesystem blocks quota limit grace files quota limit grace

/dev/hda3 58 200000 400000 41 500 1000

以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200M

Linux 史上最全命令大全

1、ls命令

cd /root

ls #显示当前目录下所有的非隐藏文件

ls -a #显示当前目录下所有文件,包含隐藏文件

ls -l #显示当前目录下所有的非隐藏文件的详情

ls -al #显示当前目录下所有文件,包含隐藏文件 的详情

ls -lh #以列表形式显示当前目录下所有的非隐藏文件的大小(K M T)

ls -alh #以列表形式显示所有文件,包含隐藏文件的文件大小(K M T)

常用的组合:

ls

ll #等价于 ls -l

ls /etc #显示/etc目录下的文件

2:pwd命令

用来显示当前所在的路径

绝对路径: 从/目录开始的路径

/root

/etc/sysconf

/opt/server/data-integration/libswt/win64

相对路径: 相对当前的路径

3、mkdir命令

cd /root

mkdir mytest #在当前目录创建文件夹

mkdir -p 111/222/333 #一次创建多级文件夹

mkdir /root/mydemo #使用绝对路径来创建

mkdir mydemo2 #使用相对对路径来创建

4、rm命令

这个命令既可以删除文件,也可以删除目录

删文件:

cd /root

rm a.txt #删除时,会给出提醒确认,输入y删除,n不删除

rm -f b.txt #强制删除 等价于 rm -f /root/b.txt

rm ../dir2/b.txt

touch a.java b.java c.java

rm a.java b.java c.java #一次可以删除多个文件

rm *.java -fr #可以删除当前目录下的所有.java文件

cd dir

rm * -fr #删除当前目录的所有内容

删目录:

rm -r 111 #删除目录,依次提醒删除

rm -rf mytest #强制删除 等价于 rm mytest -fr

常用组合:

rm -fr 文件或目录

5、cd命令

cd 命令可以进入一个目录,类似于对windows上的文件夹进行双击

cd #直接cd 可以从任何一个目录回到/root目录

cd /root #进入root目录

cd /opt/server/data-integration/system/

cd .. #回到上一级目录

cd ../.. #回到上上一级目录

cd - #可以在最近的两次目录之间切换

cd /root

mdkir dir1 dir2

cd dir1

cd ../dir2 #使用相对路径 /中国/广东省/深圳市/宝安区/留仙二路/78号

6、历史命令和table补全

使用上下方向键可以找出历史命令

table键:

cd /opt/ #两次table可以列出/opt目录下所有的文件和子目录

cd /opt/s #一次table可以自动补全目录内容,前提是/opt目录下只有一个s开头的目录

7、touch命令

cd /root

touch a.java #在当前目录创建a.txt文件

touch b.java c.java #创建多个文件

touch /root/d.java #通过绝对路径创建

8、mv命令

移动:

1、mv 文件 目录 #将文件移动到目录中区

cd /root/dir1

touch a.txt

mv a.txt /root/dir2 #等价于 mv a.txt ../dir2

2、 mv 目录1 目录2 #将目录1移动到目录2下面(前提是目录2必须存在)

cd /root

mv dir2 dir1 #将dir2移动到dir1下面

重命名:

1、mv 文件1 文件2 #给文件重命名(文件2不能存在)

cd /root

mv a.txt aaa.txt #将a.txt 重命名为aaa.txt

2、mv 目录1 目录2 #给目录重命名(目录2不能存在)

cd /root

mv dir1 dirx #将dir1重命名为dirx

9、cat命令

显示文件内容

cd /root

cat user.txt

10、cp命令

复制文件

cd /root

cp user.txt user2.txt

cp user.txt /opt/ #将当前目录的user.txt 复制到/opt目录,文件名保持不变

cp user.txt /opt.user2.txt #将当前目录的user.txt 复制到/opt目录,文件名改为user2.txt

cp /opt/server/data-integration/pan.sh ./ #将指定目录里的文件复制到当前目录(.后边的/可以去掉)

cp /opt/server/data-integration/pan.sh ./dirx #将指定目录里的文件复制到当前目录下的dirx目录(.后边的/比可以去掉)

cp /opt/server/data-integration/pan.sh /root/dirx #作用同上

11、解压和压缩

Linux的压缩包后缀一般是: .tar.gz

解压:

.tar.gz

将snappy-1.1.1.tar.gz上传到/root/dir1目录

tar -zxvf snappy-1.1.1.tar.gz #默认解压到当前目录

tar -xvf snappy-1.1.1.tar.gz #默认解压到当前目录

tar -xvf snappy-1.1.1.tar.gz -C /opt #将压缩包解压到/opt目录

.zip格式

unzip mysql-connector-java-8.0.13.zip #默认解压到当前目录

unzip -d /opt mysql-connector-java-8.0.13.zip #解压到指定目录

压缩:

.tar.gz

tar -czvf snappy-1.1.1.tar.gz snappy-1.1.1 #将snappy-1.1.1文件夹进行打包压缩

tar -czvf /root/dir/snappy-1.1.1.tar.gz /opt/server/snappy-1.1.1

.zip格式

zip -r mysql-connector-java-8.0.13.zip mysql-connector-java-8.0.13/

12、find命令

用来实现文件的查找

find / -name 'a.txt' #从/目录开始查找a.txt文件

find / -name 'ins*' #从/目录开始查找以ins开头的文件

find / -type f -size +100M #查找/目录下文件大小大于100M的文件

13、grep命令

grep lang anaconda-ks.cfg #从anaconda-ks.cfg文件中查找包含lang的内容

14、ps命令

ps #查看依赖终端的进程

ps -ef #查看Linux系统中所有的进程

15、kill命令

kill -9 进程的pid #每次启动进程时,pid会发生变化,但是进程运行期间pid不会变化

16、管道 |

管道就是把前边命令的结果作为后边命令的输入

ps -ef | grep mysql #查找和mysql相关的进程

ll /etc | grep java #在/etc目录中查找java相关的文件

17、用户的操作

用户创建和密码设置

useradd itheima #创建新用户itheima

passwd itheima #设置用户itheima密码

用户删除

userdel -r itheima #删除用户itheima

18、文件的权限

所属用户: root 文件的创建者

所属用户组: root 和文件创建者在一个组的用户

其他用户: itcast 既不是文件创建者,也和文件创建者不在同一组

r: 可读

w:可写

x: 可执行

chmod命令:

方式1:

chmod u+rw a.txt #在所属用户之前的权限基础上添加可读和可写权限

chmod u=rw a.txt #将所属用户的权限直接修改为可读,可写

chmod +x #给所属用户,所属用户组和其他用户全部加上可执行权限

方式2:

chmod 777 a.txt #给所有用户加上所有权限

19、clear命令

用来清屏

快捷键: ctrl + l

20、history命令

用来查看所有的历史命令

21:vi编辑器的使用

vi a.txt #打开a.txt文件

vim a.txt #vim是vi的增强

22、网络管理命令

hostname :查看主机名

修改主机名: /etc/hostname

ifconfig :查看ip地址

修改ip地址: /etc/sysconfig/network-scripts/ifcfg-ens33

服务问题:

service network restart


新闻标题:linux上两层的命令 linux的shell有两层含义
文章地址:http://www.cdkjz.cn/article/hpsojj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220