1-3章

自动补齐

$跟环境变量  ~跟用户名  @跟主机名

man命令 -f xxx 可以显示出所有xxx的文档,比如有的是c的有的是sh的。类似whatis

[root@DL01 ~]# man -f mkdir
mkdir                (1)  - make directories
mkdir                (1p)  - make directories
mkdir                (2)  - create a directory
mkdir                (3p)  - make a directory

然后可以用man 3p mkdir来看具体的

-k是搜索所有包含xxx的

[root@DL01 ~]# man -k fopen
TIFFClientOpen [TIFFOpen] (3tiff)  - open a TIFF file for reading or writing
TIFFFdOpen [TIFFOpen] (3tiff)  - open a TIFF file for reading or writing
TIFFOpen             (3tiff)  - open a TIFF file for reading or writing
fdopen [fopen]       (3)  - stream open functions
fopen                (3)  - stream open functions
fopen                (3p)  - open a stream
freopen [fopen]      (3)  - stream open functions

whereiswhitch都可以查找命令的路径。whereis更全面一点。

date +%s 打印时间戳

fuser -a 目录可以看该目录启动的所有进程

-k可以删除该目录下所有的进程

 gdialog linux里面的安装程序对话框都可以实现,不过似乎不能组合用,比如yesno不能和textbox用,不能既能选yesno也能从文本里面读说明。

如果是输入框或者菜单类,那么可以用2>>1.log输入到日志里面,无论是inputbox或者菜单类都不自动换行。

菜单和单选都是输出第一项。多选很奇怪,输出的第一项但是外面多了""

hostname 后面跟名字可以修改主机名。

jobs 只能显示本连接的后台程序(后缀&的),其他连接的后台程序看不见。

fg 可以把jobs里面的内容从后往前出现在前台。

 write root pts/1 给其他连接发信息,其他连接会屏幕打印出来。可以用who看其他终端的pts编号。

ps -C httpd -o pid= 可以显示指定进程的pid,可以不用awk再匹配了。

pmap 进程号 可以看这个进程使用到的库占用的内存,不过有个[ anon ]不知道什么意思 - -

yes|rm *可以实现rm -rf * 功能,其他组合想到再记下。

fc -l可以看见本连接的操作命令,fc 行号开始 行号结尾,可以vi编辑,然后自动运行编辑后的结果。

pgrep pkill 不完全匹配找进程,-x是完全匹配。

pidof 显示所有该名程序的进程,完全匹配。

watch 可以定期执行程序,全屏刷新屏幕。

alias 给命令定义别名,如果alias ll=ls -a等,只有本连接才有效。

declare 显示所有环境变量的值。

ldd 显示程序依赖那些库。

 

 第四章

/etc/passwd 里面第二位是密码,不过现在都在/etc/shadow,不过都是md5加密后的密码,密码是!的表示用户被锁定不能登录,passwd -l 用户名实现。

userdel -r 删除用户同时删除文件。

忘记root密码可以使用单用户模式来进入系统,然后把shadow的密码删除。

系统启动时回车进入GRUB界面,选择kernel /vmlinuz-xxxx ro root=LABLE=/ 输入single 返回上级菜单按b启动命令。

 

同样组设置在/etc/group 和/etc/gshadow里面。

当一个用户属于多个组时,登录后只属于一个组,可以使用newgrp切换组。

ac显示登录总时间,-p按用户统计,-d对连接几天进行统计。

last显示最近的登录情况

lastd显示最近的登录失败情况。话说公网的机器被扫的很严重啊,我一起在公网的机器给了密码123456,第二天就被人改了密码了。用lastd看看,一堆尝试登录的ip 。

who显示登录用户信息。

w显示登录用户信息和ip以及进行的操作。不过大部分正常操作都会是hash

whoami显示自己的用户名。

logname显示自己的用户名。

finger 当前用户的相关登录信息,加用户名是该用户信息,比如目录等。

id 显示某用户所属的所有组。

rwho看局域网用户,不过不是很清楚,如果是公网地址,那么不都等于局域网吗?但是公网是不显示的。但是我在局域网试了个机器,也没有任何显示,真奇怪。

users显示所有登录用户的用户名

 

如果存在/etc/nologin  那么禁止所有非root用户登录。