Linux 常用命令记录

1.cut 命令
-d 指定字段分隔符,默认空格
-f 指定要显示的字段
例 如:
-f 1,3
-f 1-3


2.sort
-n 数值排序
-r 降序
-t 字段分隔符
-k 以哪个字段为关键字进行排序
-u 排序后相同的行只显示一行
-f 排序时忽略大小写


3.uniq
此命令只去重相邻 的行,不相邻的不显示
-d 显示重复的行
-D 列出所有重复的行
-c 显示出每一行重复的次数


4.wc
-l 显示有多少行
-L 显示最长的一行有多少字符

[root@ceshi01 home]# wc /etc/fstab 
 11  54 465 /etc/fstab

11 行数
54 单词数
465 字符数


5.tr
是一个字符处理命令,用于转换或删除字符。

tr [OPTION]... SET1 [SET2]
aa AA
例子

[root@ceshi01 home]# tr ab AB
ABC
ABC
abc
ABc
disable     
disABle

[root@ceshi01 home]# tr 'a-z' 'A-Z' < /etc/passwd
此例子是将文件中的所有小写,转换成大写

-d 删除指定字符


6.用户管理命令

useradd -u uid
-g GID(基本组)
-G GID(附加组)
tail /etc/group 查看附加组中用户列表

-c 注释信息
例 useradd -c "Tony Blare" -d /home/blare user4

-d 指定家目录
-s 指定sheel 类型

nologing user   例子
[root@ceshi01 /]# useradd  -s /sbin/nologin user5
[root@ceshi01 /]# su user5
This account is currently not available.
[root@ceshi01 /]# 

-m -k 强制给用户创建家目录,-k 是把/etc/skel/目录下的文件复制到该用户的家目录下,此目录下包含 (bash_logout .bash_profile .bashrc)
-M 不要自动建立用户的登入目录。

此文件为添加用户时一些默认设置选项:

cat  /etc/login.defs 

finger user
查看用户属性信息。

usermod
修改用户属性信息。
-a -G 修改用户附加组。追加一个附加组,如果只使用-G 只会替换原来的附加组。

  • d -m 组合在一起是修家用户的家目录,并把之前的家目录里文件移动复制到新的目录。
  • l 使改登陆名
  • L 锁定账号
  • U 解锁账号
  • chsh user1 修改用户的shell信息。
    chfn user1 修改用户的备注信息

passwd
-d 删除用户密码
--stdin 免交互式修改密码
例子

[root@ceshi01 ~]# echo  "123"| passwd user5 --stdin 
更改用户 user5 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@ceshi01 ~]# 

7.Linux 重定向

输出
set -C 禁止输出覆盖文件
set +C 可以输出覆盖文件
例子

[root@ceshi01 ~]# set +c
-bash: set: +c: 无效选项
set: 用法:set [-abefhkmnptuvxBCHP] [-o option-name] [--] [arg ...]
[root@ceshi01 ~]# set +C
[root@ceshi01 ~]# echo "3323422" > a 
[root@ceshi01 ~]# set -C
[root@ceshi01 ~]# echo "AAA" > a 
-bash: a: 无法覆盖已存在的文件
[root@ceshi01 ~]# 

< 输入

追加
2> 错误输出
2>>追加错误输出
&> 正确输出和错误输出都输入到同一个文件中

例:
[root@ceshi01 ~]# ls /var/ &> a
[root@ceshi01 ~]# cat a

管道 | 命令1|命令2|命令3
把前前一个命令做为第二个2命令的输入

tee 命令
输入一份到文件,并在屏幕上显示出来

8.正则表达式
.表示任意单个字符
例:

[root@ceshi01 home]# grep   'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@ceshi01 home]# 

匹配前面的任意字符的任意次数
.
是匹配任意长度的任意字符 等于*
?匹配前面的字符1次或0次
{m,n} 匹配前面的字符至少m次,至多N次
^行首出现
$行尾出现
^$ 空白行
[^ ] 指定范围外的任意字符

\<其任意字符必须以首次出现
\>其任意字符必须以行行尾出现