【Linux】了解以下重要命令:du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password

刚开始进入Linux部分的学习,在认识了一些基础的指令后,针对Linux中一些重要命令,初步查阅资料学习:

1、df和du

df
功能:列出文件系统的整体磁盘使用量。

格式:df [-ahikHTm] [目录或文件名]

选项与参数
-a:列出所有的文件系统,包括系统特有的/proc等文件系统;
-k:以KBytes的容量显示各文件系统;
-m:以MBytes的容量显示各文件系统;
-h:以人们较易阅读的GBytes,Mbytes,Kbytes等格式自行显示;
-H:以M=1000K取代M=1024K的进位方式;
-T:连同该partition的filesystem名称(例如ext3)也列出;
-i:不用硬盘容量,而以inode的数量来显示

范例
df 将系统内所有的filesystem列出来
df -h ---- 将容量结果以易读的容量格式显示出来
df -aT —将系统内的所有特殊文件格式及名称都列出来

du
功能:评估文件系统的磁盘使用量

格式:du [-ahskm] 档案或目录名称

选项与参数
-a:列出所有的档案与目录容量,因为默认仅统计目录底下的档案量而以;
-k:以人们较易读的容量格式(G/M)显示;
-s:列出总量,而不列出每个个别的目录占用容量;
-S:不包括子目录下的总计,与-s有点差别;
-k:以KBytes的容量显示各文件系统;
-m:以MBytes的容量显示各文件系统;

范例
du -------------列出目前目录下的所有档案容量;
du -a --------- 同上,但是将档案的容量也列出来;
du -sm /* ---- 检查根目录底下每个目录所占用的容量。
#这是个很常被使用的功能–利用通配符 * 来代表每个目录,如果想要检查某个目录下哪个次目录占用最大的容量,可以使用这个方法找出来。

与df不一样的是,du这个指令其实会直接到文件系统内去搜寻所有的档案数据,所以范例指令的运行时间会有所差别,df较快,du较慢。

2、top

功能:动态观察程序的变化
不同于ps是静态的结果输出,top可以持续的检测整个系统的程序工作状态

格式:top [-d 数字] | top [-bnp]

选项与参数
-d:后面可以接秒数,就是整个程序画面更新的秒数。预设是5秒;
-b:以批次的方式执行top,还有更多的参数可以使用,通常会搭配数据流重导向来将批次的结果输出成为档案。
-n:与-b搭配,意义是需要进行几次top的输出结果。
-p:指定某些个PID来进行观察检测。

在top执行过程中可以使用的按键指令:
?:显示在top当中可以输入的按键指令;
P:以CPU的使用资源排序显示;
M:以Memory的使用资源排序显示;
N:以PID来排序;
T:由该Process使用的CPU时间累积(TIME+)排序;
k:给予某个PID一个信号(signal)
r:给予某个PID重新定制一个nice值。
q:退出

范例
top -d 2 ----------------------------每两秒钟更新一次top,观察整体信息
top -b -n 2 > /tmp/top.txt -------将top的信息进行两次,然后将结果输出到/tmp/top.txt

3、free

功能:观察内存使用情况

格式:free [-b|-k|-m|-g] [-t]

选项与参数
-b:直接输入free时,显示的单位是Kbytes,我们可以使用b(bytes),m(Mbytes),k(Kbytes)及g(Gbytes)来显示单位
-t:在输出的最终结果显示物理内存与swap的总量。

范例:free -m ----显示目前系统的内存容量

4、pstack

功能:排查程序死循环、死锁,可以显示每个进程的栈跟踪
pstack必须由进程的属主或root运行,可以用来确定进程挂起的位置。

格式:pstack PID

5、su与sudo

su
功能:切换用户

格式:su [-lm] [-c 指令] [username]

选项与参数
-:单纯使用- 如[su-]代表使用login-shell的变量档案读取方式来登入系统;若使用者名称没有加上去则代表切换为root的身份。
-l:与- 类似,但后面需要加欲切换的使用者账号!也是login-shell的方式。
-m:-m与-p是一样的,表示 使用目前的环境设定,而不读取新使用者的配置文件;
-c:仅进行一次指令,所以-c后面可以加上指令。

范例

su 与su -
可以使用这两种方式来切换用户身份,差异之处在于:
单纯使用[ su ]切换成为root的身份,读取的变量设定方式为non-login shell的方式,这种方式很多原本的变量不会被改变,尤其是path这个变量,由于没有改变成为root的环境(一堆/sbin,/user/sbin等目录没有被包含进来),因此很多root惯用的指令就只能使用绝对路径来执行。而使用login shell的方式切换为root的身份,使用su-则更占优势一些。

sudo
相对于su需要了解新切换的用户的密码(常常是需要root的密码),sudo的执行则仅需要自己的密码即可,甚至可以不需要密码即可执行sudo。但并非所有人都能够执行sudo,而是仅有规范到/etc/sudoers内的用户才能够执行sudo这个指令。

功能:切换身份来进行某项命令。

格式:sudo [-b] [-u 新使用者账号]

选项与参数
-b:将后续的指令放到背景中让系统自动执行,而不与目前的shell产生影响;
-u:后面可以接欲切换的使用者,若无此项则代表切换身份为root;

sudo搭配su的使用方式
visudo
User_Alias ADMINS=pro1,pro2,pro3,myuser1
ADMINS ALL=(root) /bin/su-

接下来,上述的pro1,pro2,pro3,myuser1这四个人只要输入【sudo su-】并且输入自己的密码后,立刻变成root的身份,root的密码不会外流,用户的管理也变得非常的方便。

6、useradd

功能:用来建立用户

格式:useradd [-u UID] [-g 初始组群] [-G 次要组群] [-mM]> [-c说明栏] [-d 家目录绝对路径] [-s shell] 使用者账号名

选项与参数
-u:后面接的是UID,是一组数字。直接指定一个特定的UID给这个账号;
-g:后面接的组名是初始群组,该群组的GID会被放置到/etc/passwd的第四个字段内。
-G:后面接的组名是这个账号还可以加入的群组。会修改/etc/passwd内的相关资料;
-M:强制!不要建立用户家目录(系统账号默认值)
-m:强制!要建立用户家目录(一般账号默认值)
-c:这个就是/etc/passwd的第五栏的说明内容,可以随便我们设定;
-d:指定某个目录成为家目录,而不要使用默认值。务必使用绝对路径!
-r:建立一个系统的账号,这个账号的UID会有限制;
-s:后面接一个shell,若没有指定则预设是/bin/bash的;
-e:后面接一个日期。格式为[YYYY-MM-DD]此项目可写入shadow第八字段,亦即账号失效日的设定项目;
-f:后面接shadow的第七字段项目,指定密码是否会失效。0为立刻失效,-1为永远不失效。

范例
useradd vbird1 ---------------------完全参考默认值建立一个用户,名称为vbird1(默认会建立用户家目录,且权限为700)
useradd -u 700 -g users vbird2 --用user为初始组群,uid为700建立一个名为vbird2的账号
useradd -r vbird3 --------------------建立一个系统账号,名称为vbird3

7、passwd

功能:设定密码(前面我们使用useradd建立了账号之后,在预设的情况下该账号是暂时被封锁的,无法登入,这时就需要我们使用passwd来设定新密码了)

格式
passwd [–sdtin] <==所有人均可使用来改变自己的密码
passwd [-l] [-u] [–sdtin] [-S]> [-n 日数] [-w 日数] [-i 日期] 账号<==root 功能

选项与参数
–stdin:可以透过来自前一个管线的数据,作为密码输入,对shell script有帮助。
-l:是Lock的意思,会将/etc/shadow第二栏最前面加上!使密码失效;
-u:与-l相对,是Unlock的意思!
-S:列出密码相关参数,亦即shadow档案内的大部分信息。
-n:后面接天数,shadow的第4字段,多久不可修改密码天数;
-x:后面接天数,shadow的第5字段,多久内必须要改动密码;
-w:后面接天数,shadow的第6字段,密码过期前的警告天数;
-i:后面接日期,shadow的第7字段,密码失效日期

范例
passwd vbird2 ----------请root给予vbird2密码
passwd <==后面没有加账号,就是改自己的密码!
echo “abc543” | passwd --stdin vbird2 使用standerd input建立用户的密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值