总结一下一些常用到的Linux命令:

1). man - format and display the on-line manual pages 

man命令的分段机制: 
1:用户命令: 
2:系统调用 
3:库调用 
4:设备文件 
5:文件格式(通常为配置文件的格式定义) 
6:游戏 
7:杂项 
8:管理命令 
man -M /path/to/mandoc  Command # 指定帮助手册查找路径 
man -k 'string'  # 按指定关键字查找命令


2). date - print or set the system date and time

date [+FORMAT]
%Y:四位年份
%y:两位年份
%m:月
%M:分钟
%d:日
%h:英文简写的月
%H:时
%S:秒
%D:月/日/年
%F:年-月-日
%T:时:分:秒
date  MMDDhhmm[[CC]YY][.ss] # 修改当前系统时钟为 月日小时分钟[年.秒]  
date +%F# 显示日期格式为年-月-日
date +%F-%H-%M-%S # 显示日期格式为年-月-日-小时-分钟-秒
date +%s # 从1970年1月1日0点0分0秒(unix元年)到现在所经过的秒数,timestamp(时间戳)


3). hwclock - query and set the hardware clock (RTC)

硬件时钟:主板上的电池供电进而保存的硬件时钟
软件时钟:开机时读取硬件时钟
hwclock -s # 以硬件时钟为准,将硬件时钟同步到系统时钟,即改系统时钟
hwclock -w# 以系统时钟为准,将系统时钟同步到硬件时钟,即改硬件时钟


4). mkdir - make directories

mkdir -pv {a,b}_{c,d}      # 创建四个目录 a_b, a_c, b_c, b_d


5). history - Display or manipulate the history list

!## 执行命令历史中的第#条命令
!!# 执行上一条命令
!-## 执行命令历史中的倒数第#条命令
!$# 引用上一条命令最后的参数,另两种方式:(1)ESC,.  # ESC键按完之后再按. (2)ALT+. #按住ALT,再按.
!string# 执行命令历史中最近一条以string开头的命令
history -c # 清空命令历史
history -d ## 删除命令历史中第#条命令
history -a # 追加当前会话的命令历史至命令历史文件中
history -n# 从命令历史文件中读取命令历史记录到命令行
history -w# 将命令行命令历史记录保存至命令历史文件中 (.bash_history)
命令历史相关的环境变量
 HISTSIZE:命令历史中可以保存的个数
 HISTFILE: 命令历史保存的文件
 HISTFILESIZE:命令历史文件中可以保存的命令个数
 HISTCONTROL:控制命令历史的生成机制
       ignoredups:忽略记录重复的命令,连续的相同命令才叫重复
       ignorespace:忽略以空格开头的命令
       ignoreboth:同时具有上面两种特性


6). ls - list directory contents

-rw-r--r-- 1 root root      208 Jul  6 13:41 id_rsa_1024.pub
文件类型  权限 硬链接数 属主 属组 文件大小 最近一次的修改时间 文件名
    -a:显示所有文件,包含隐藏文件
    -A:显示所有文件,包含隐藏文件,但不现实.和..
    --color:显示颜色
    -l:长格式显示
    -d:显示目录自身的属性,通常与-l同时使用
    -r:实现逆序显示
    -R:递归显示
    -i:inode号,index node
    -h:文件大小以人类易读格式显示,即做单位转换


7). cat - concatenate files and print on the standard output     

    -A 显示文件当中所有隐藏符号
    -E --show-ends 显示结束符$
    -e:等于-vE
    -v:显示非打印符
    -n:显示每行按顺序编号
    -s:将多个连续的空白行合并显示一个空白行

8). echo - display a line of text

-e
     \b:删除前面的字符
     \t:制表符
     \v:垂直制表符
     \n:换行符
     \0NNN()
     开始\033[#      #       1
                 3前景色  颜色(1-7)
                                4背景色
      结束\033[0m
      echo -e "\033[31mhello\033[0m,world" 
-n:不为显示内容自动换行


9). cp - copy files and directories

   

     -r:递归复制,复制目录时加此选项
    -i:interactive,提示,交互
    -f:强制覆盖
    -a: -pdr 保留所有的文件信息
    -d:当源为连接文件时,复制链接文件本身,而非指向的源文件
    -p:保持原有属性

   

10). touch - change file timestamps 

    -a:仅修改访问时间
    -c:不创建空文件,只修改时间戳
    -m:仅修改修改时间
    -t:指定时间戳
  touch -a -t [[CC]YY]MMDDhhmm[.ss] file_name # 仅修改访问时间
  无论是atime还是mtime变了,ctime都会变


11). useradd - create a new user or update default new user information 

    -u UID:指定UID
    -g GID:指定GID,即用户的基本组,但GID要事先存在
    -G GID:指定用户的额外组,但GID要事先存在
    -c comment:备注
    -d directory: 指定家目录 
    -s:shell:指定默认shell,应该指定使用/etc/shells文件中出现的shell
    -m:创建用户时,强制给用户创建家目录
    -M:创建用户时,但不创建家目录
    -D: 改变其默认属性
    -r: 创建系统用户 特点:id 1-499 不会为用户创建家目录 默认shell为/sbin/nologin


12). usermod - modify a user account    

        -u UID: 修改UID
       -g GID:修改GID
        -G GID:默认会覆盖原有的附加组,如果要是添加,可以同时使用-a选项
        -c string:修改注释信息,多个的话则以,分割
        -d new home 默认不会迁移用户的家目录,如果要迁移,同时使用-m选项
        -s SHELL:修改默认shell
        -l New_login_name:修改用户登录名称
        -e:修改过期期限
        -f:修改非活动期限
        -L:锁定用户账号,即被锁定的账户不能登陆系统
        -U:解锁用户账号

13). passwd - update user’s authentication tokens    

        -n:设置密码最小使用期限
        -x:设置密码最长使用期限
	-w:设置密码警告期限
	-i:设置密码非活动期
	-d:删除密码,仅有系统管理者才能使用
	-f:强制执行
	-k:设置只有在密码过期失效后,方能更新 
	-l:锁住账户密码
	-u:解锁账户密码
	-s:列出密码的相关信息,仅有系统管理者才能使用


14). wc - print newline, word, and byte counts for each file      

    -l:统计行数
    -w:统计单词数
    -c:统计字节数

        

15). sort - sort lines of text files   

    -f:忽略大小写
    -n:对数字进行排序
    -t:指定分隔符
    -k数字:指定分隔后进行比较字段
    -u:重复的行,只显示一行

  

16). uniq - report or omit repeated lines   

    -c:统计每一行出现的次数(靠着的行)
    -d:仅显示出现最少两次的行