Linux下的命令记录,持续记载
Linux命令大全:http://man.linuxde.net/
File System
文件统计命令wc
wc -c filename: 显示一个文件字节数
wc -m filename: 显示一个文件字符数
wc -l filename: 显示一个文件行数
wc -L filename: 显示一个文件最长行长度
wc -w filename: 显示一个文件字数
sed命令
在文件尾添加行:
sed -i '$a\string' filename
替换:
sed -i "s#^user.name=.*#user.name=用户名#g" file
^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。
$ 匹配行结束,如:/sed$/匹配所有以sed结尾的行。
. 匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。
* 匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。
通过这个命令可以批量处理文本,还可以编写自动化配置脚本。
du df
统计目录(或文件)所占磁盘空间的大小
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
http://blog.csdn.net/wisgood/article/details/17316663
用户管理
将一个用户添加到用户组中,千万不能直接用:
usermod -G groupA
这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。
应该用 加上 -a 选项:
usermod -a -G groupA user
命令的所有的选项,及其含义:
Options:
-c, –comment COMMENT new value of the GECOS field
-d, –home HOME_DIR new home directory for the user account
-e, –expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, –inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, –gid GROUP force use GROUP as new primary group
-G, –groups GROUPS new list of supplementary GROUPS
-a, –append append the user to the supplemental GROUPS
mentioned by the -G option without removing
him/her from other groups
-h, –help display this help message and exit
-l, –login NEW_LOGIN new value of the login name
-L, –lock lock the user account
-m, –move-home move contents of the home directory to the new
location (use only with -d)
-o, –non-unique allow using duplicate (non-unique) UID
-p, –password PASSWORD use encrypted password for the new password
-s, –shell SHELL new login shell for the user account
-u, –uid UID new UID for the user account
-U, –unlock unlock the user account
查看用户所属的组使用命令: groupsuser或者查看文件: g r o u p s u s e r 或 者 查 看 文 件 : cat /etc/group
1)管理用户(user)的工具或命令;
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;
2)管理用户组(group)的工具或命令;
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;
生成制定大小文件
dd命令
dd if=/dev/zero of=FileName bs=1024 count=1000
例如:创建一个100M的文件Demo.txt
dd if=/dev/zero of=~/Desktop/Demo.txt bs=1024 count=0 seek=$[1024*100]
if的参数是输入文件, 可以从指定文件中复制,但输出文件大小不能大于输入文件,“/dev/zero“是创建空文件,没有大小限制
of的参数是要生成的文件,
bs的参数是每次读入的block大小,这里就设为要生成的文件大小,
count的参数是读取的block个数,这里就设为1。
通过bs和count组合就可以生成指定大小的文件,根据if输入源的不同也内容也可以随机。
拷贝复制命令行输出放在系统剪贴板上
使用xsel命令。
示例:
cat README.TXT | xsel
cat README.TXT | xsel -b # 如有问题可以试试-b选项
xsel < README.TXT
# 将readme.txt的文本放入剪贴板
xsel -c
# 清空剪贴板
截取文件指定行
sed -n '开始行号,结束行号p' file_name