linux已经学习了一段时间了,接下来我们来学习linux的重要的命令。
一、du命令
du命令也是查看使用空间的,但与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间进行查看,还是和df命令有一些区别的。
1)语法:du 【选项】【文件】
2)功能:显示每个文件和目录的磁盘使用空间。
3)命令参数:
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-k或--kilobytes 以KB(1024bytes)为单位输出。
-m或--megabytes 以MB为单位输出。
-s或--summarize 仅显示总计,只列出最后加总的值。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
-D或--dereference-args 显示指定符号链接的源文件大小。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-l或--count-links 重复计算硬件链接的文件。
二、df命令
用来检查文件系统磁盘的占用情况,使用的权限是所有用户。
1)语法:df【选项】【文件】
2)功能:查看磁盘剩余空间
3)命令参数:
-a:--all
,显示所有的文件系统,包括虚拟文件系统。 -B
:--block-size
,指定单位大小。比如1k,1m等。 -h
:--human-readable
,以人们易读的GB、MB、KB等格式显示。 -H
:--si
,和-h
参数一样,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。 -i
:--inodes
,不用硬盘容量,而是以inode的数量来显示。 -k
:以KB的容量显示各文件系统,相当于--block-size=1k
。 -m
:以KB的容量显示各文件系统,相当于--block-size=1m
。 -l
:--local
,只显示本地文件系统。 --no-sync
:在统计使用信息之前不调用sync命令(默认)。 -sync
:在统计使用信息之前调用sync命令。 -P
:--portability
,使用POSIX格式显示。 -t
:--type=TYPE
,只显示指定类型的文件系统。 -T
:--print-type
,显示文件系统类型。 -x
:--exclude-type=TYPE
,不显示指定类型的文件系统。 --help
:显示帮助信息。 --version
:显示版本信息。
三、top命令
p命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。
1)语法:top
2)功能:命令用来显示执行中的程序进程,使用权限是所有用户 。
3)命令参数:一般在执行top命令的时候,会有以下详细的信息
- PID(Process ID):进程标示号。
- USER:进程所有者的用户名。
- PR:进程的优先级别。
- NI:进程的优先级别数值。
- VIRT:进程占用的虚拟内存值。
- RES:进程占用的物理内存值。
- SHR:进程使用的共享内存值。
- S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
- %CPU:该进程占用的CPU使用率。
- %MEM:该进程占用的物理内存和总内存的百分比。
- TIME+:该进程启动后占用的总的CPU时间。
- Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
-
top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
- <空格>:立刻刷新。
- P:根据CPU使用大小进行排序。
- M:根据使用内存大小进行排序。
- T:根据时间、累计时间排序。
- q:退出top命令。
- m:切换显示内存信息。
- t:切换显示进程和CPU状态信息。
- c:切换显示命令名称和完整命令行。
- W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面
四、free命令
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
1)语法:free【选项】
2)功能:用来显示内存的使用情况,使用用户是所有用户。
3)命令参数:
- -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
- -s delay:显示每隔多少秒数来显示一次内存使用情况。
- l-t:显示内存总和列。
- -o:不显示缓冲区调节列。
五、pstack
pstack 是 Linux(比如 Red Hat Linux 系统、Ubuntu Linux 系统等)下一个很有用的工具,它的功能是打印输出此进程的堆栈信息。可以输出所有线程的调用关系栈。
pstack命令可显示每个进程的栈跟踪。pstack命令必须由相应进程的属主或 root 运行。可以使用 pstack来确定进程挂起的位置。
1)语法:
2)功能:显示每个进程的栈跟踪。
3)命令参数:此命令允许使用的唯一选项是要检查的进程的 PID。
六、su
1)语法:su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
2)功能:su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
3)命令参数:
-f , –fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并
且工作目录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执行su时不改变环境变数。
-c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
–help 显示说明文件
–version 显示版本资讯
USER:欲变更的使用者账号,
ARG: 传入新的Shell参数。
七、sudo(sudo -, sudo -s)
1)语法:sudo【选项】【参数】
2)功能:sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers
中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
3)命令参数:
-b:在后台执行指令;-h:显示帮助;-H:将HOME环境变量设为新身份的HOME环境变量;-k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。-l:列出目前用户可执行与无法执行的指令;-p:改变询问密码的提示符号;-s<shell>:执行指定的shell;-u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;-v:延长密码有效期限5分钟;-V :显示版本信息。
配置sudo必须通过编辑/etc/sudoers
文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。
八、adduser
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
1)语法:useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
2)功能:作用 (linuxso注:useradd和adduser相同,但是addgroup是不存在的命令,所以建议使用useradd,当然你的习惯才是最重要的.)
3)命令参数:
新帐号建立当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系统上的预设值.新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些均可以利用命令列选项指定。此版本为RedHatLinux提供,可帮每个新加入的使用者建立个别的group,毋须添加-n选项。useradd可使用的选项为-ccomment新帐号password档的说明栏。-dhome_dir新帐号每次登入时所使用的home_dir。预设值为default_home内login名称,并当成登入时目录名称。
-e expire_date 帐号终止日期。日期的指定格式为MM/DD/YY。
-f inactive_days 帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1
-g initial_group group名称或以数字来做为使用者登入起始群组(group)。群组名须为现有存在的名称。群组数字也须为现有存在的群组。预设的群组数字为1。
-G group,[...] 定义此使用者为此一堆groups的成员。每个群组使用","区格开来,不可以夹杂空白字元。群组名同-g选项的限制。定义值为使用者的起始群组。
-m 使用者目录如不存在则自动建立。如使用-k选项skeleton_dir内的档案将复制至使用者目录下。然而在/etc/skel目录下的档案也会复制过去取代。任何在skeleton_diror/etc/skel的目录也相同会在使用者目录下一一建立。The-k同-m不建立目录以及不复制任何档案为预设值。
-M 不建立使用者目录,即使/etc/login.defs系统档设定要建立使用者目录。
-n 预设值使用者群组与使用者名称会相同。此选项将取消此预设值。
-r 此参数是用来建立系统帐号。系统帐号的UID会比定义在系统档上/etc/login.defs.的UID_MIN来的小。注意useradd此用法所建立的帐号不会建立使用者目录,也不会在乎纪录在/etc/login.defs.的定义值。如果你想要有使用者目录须额外指定-m参数来建立系统帐号。这是REDHAT额外增设的选项。
-s shell 使用者登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的登入shell。
-u uid 使用者的ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于999而逐次增加。0~999传统上是保留给系统帐号使用。改变预设值当-D选项出现时,useradd秀出现在的预设值,或是藉由命令列的方式更新预设值。可用选项为∶
-b default_home 定义使用者所属目录的前一个目录。使用者名称会附加在default_home后面用来建立新使用者的目录。当然使用-d后则此选项无效。
-e default_expire_date 使用者帐号停止日期。
-f default_inactive 帐号过期几日后停权。
-g default_group 新帐号起始群组名或ID。群组名须为现有存在的名称。群组ID也须为现有存在的群组。
-s default_shell 使用者登入后使用的shell名称。往后新加入的帐号都将使用此shell.如不指定任何参数,useradd显示目前预设的值。注记系统管理者有义务在/etc/skel目录下放置使用者定义档。
九 、password
passwd 作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,但前提是没有被root用户锁定;如果root用户运行passwd ,可以设置或修改任何用户的密码。
1)语法:passwd 命令后面不接任何参数或用户名,则表示修改当前用户的密码;
2)功能:如果是普通用户执行passwd 只能修改自己的密码;
如果新建用户后,要为新用户创建密码,则用 passwd 用户名 ,注意要以root用户的权限来创建;
3)命令参数:
-k, --keep-tokens keep non-expired authentication tokens注:保留即将过期的用户在期满后能仍能使用;
-d, --delete delete the password for the named account (root only)注:删除用户密码,仅能以root权限操作;
-l, --lock lock the named account (root only)注:锁住用户无权更改其密码,仅能通过root权限操作;-u, --unlock unlock the named account (root only)注:解除锁定;
-f, --force force operation注:强制操作;仅root权限才能操作;
-x, --maximum=DAYS maximum password lifetime (root only) 注:两次密码修正的最大天数,后面接数字;仅能root权限操作;
-n, --minimum=DAYS minimum password lifetime (root only) 注:两次密码修改的最小天数,后面接数字,仅能root权限操作;
-w, --warning=DAYS number of days warning users receives before 注:在距多少天提醒用户修改密码;仅能root权限操作;
password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an 注:在密码过期后多少天,用户被禁掉,仅能以root操作;
account becomes disabled (root only)
-S, --status report password status on the named account (root 注:查询用户的密码状态,仅能root用户操作;
only)
--stdin read new tokens from stdin (root only)
以上就是在linux下的一些重要的命令的总结。