注:在网页页面显示的时候,可使用Ctrl+F,检索自己想要查看到的命令。
本文会不断更新
1,显示当前使用的shell
[root@localhost ~]# echo $SHELL
2,显示当前系统使用的所有shell
[root@localhost ~]# cat /etc/shells
3,显示hash缓存
hash:显示缓存-r:清除缓存
4,多个命令可使用;符号分开
5,history
-c:清空命令历史
-d:删除历史中指定的命令
#:显示最近的#条历史
-a:追加本次会话新执行的命令历史到列表至历史文件
-n:读历史文件中未读过的行到历史列表
-r:读历史文件附加到历史列表
-w:保存历史列表到指定的历史文件
-p:展开历史参数成多个行,但不存在历史列表中
-s:展开历史参数成一行,附加在历史列表后
6,Ctrl
+l:清屏,相当于clear命令
+c:取消命令的执行
-a:将光标移动到命令行的最前面
-e:将光标移动到命令行的最后面
-u:删除光标当前位置到行首
-k:删除光标当前位置到行尾
7,Esc
-b:左移一个单词
-f:右移一个单词
8,本地帮助文件存放位置/usr/share/doc/
9,CentOS系统安装完成后如果没有man帮助可使用以下命令来制作数据库
CentOS6使用:makewhatis
CentOS7使用:mandb
10,man命令的操作方法
space、^v、^f、^F:向文件尾翻屏
b、^b:向文件首部翻屏
d、^d:向文件尾部翻半屏
u、^u:向文件首部翻半屏
^n or ^e or ^j :向文件尾部翻一行
^y or ^p or ^k :向文件首部翻一行
q:退出
#:跳转至第#行
1g:回到文件首部
g:翻至文件尾部
/keywork:以字符串为关键字,从当前位置向尾部搜索,不区分字符大小写
n:下一个N:上一个
?keywork:以字符串为关键字,从当前位置向首部搜索,不区分字符大小写
n:下一个N:上一个
11,文件系统的结构
/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此目录。
/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序。
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序。
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录
/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
/mnt:临时文件系统挂载点
b:block device,随机访问
c:character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
/usr:universal shared,read-only data
bin:保证系统拥有完整功能而提供的应用程序
lib:32位使用
lib64:只存在64位系统
include:C程序的头文件(header files)
share:结构化独立的数据,例如doc,man等
local:第三方应用程序的安装位置
/var:variable data files
cache:应用程序缓存数据目录
lib:应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据
lock:锁文件
log:日志目录及文件
opt:专用于为/opt下的应用程序存储可变数据
run:运行中的进程相关数据;通常用于存储进程pid文件
spool:应用程序数据池
tmp:保存系统两次重启之间产生的临时数据
/selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置
12,文件类型
-:普通文件
d:目录文件
b:块设备
c:字符设备
p:管道文件pipe
13,ls用法
-a:包含隐藏文件
-l:显示额外的信息
-R:目录递归通过
-ld:目录和符号链接信息
-S:按从大到小排序
-u:配合-t选项,显示并按atime从新到旧排序
-U:不排序按目录存放顺序显示
modify time:修改时间,mtime,改变文件内容(数据)
change time:改变时间,ctime,元数据发生改变
15,touch命令
touch [OPTION]... FILE...
-a:仅改变atime
-m:仅改变mtime
-t:STAMP:
[[cc]yy]mmddhhmm[.ss]
-c:如果文件不存在,则不予创建
16,cp命令
-i:交互式
-r,R:递归复制目录及内部的所有内容
-a:归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links不复制原文件,只复制链接名
-p:等同--preserv=mode,ownership,timestamp
-v:--verbose
-f:--force
17,alias定义别名
显示当前shell进程所有可用的命令别名
[root@localhost ~]# alias
定义别名NAME,其相当于执行命令VALUE
[root@localhost ~]# alias NAME='VALUE'
在命令行中定义的别名,仅对当前shell进程有效。
如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
撤消别名使用:unalias
18,mv命令使用
常用选项:
-i:交互式
-f:强制
19,rm命令使用
常用选项:
-i:交互式
-f:强制删除
-r:递归
20,tree显示目录树
-d:只显示目录
-L level:指定显示的层级数目
-P pattern:只显示由指定pattern匹配到的路径
21,mkdir创建目录
-p:存在于不报错,且可自动创建所需的各目录
-v:显示详细信息
-m MODE:创建目录时直接指定权限
22,rmdir删除空目录
-p:递归删除父空目录
-v:显示详细信息
23,rm删除数据
-r:递归删除目录树
格式:命令操作符号文件名
set -C:禁止将内容覆盖已有文件,但可以追加强制覆盖:>|
set +C:允许覆盖
COMMAND > /path/to/file.out 2> /path/to/error.out
&>:覆盖重定向
&>>:追加重定向
COMMAND > /path/to/file.out 2> &1(顺序很重要)
COMMAND >> /path/to/file.out 2>> &1
():合并多个程序的STDOUT
(cal 2007 ; cal 2008)> all.txt
25,tr - 转换和删除字符
tr [OPTION]...SET1 [SET2]
选项:
-c或--complerment:取字符集的补集
-d或--delete:删除所有属于第一字符集的字符
-s或--squeeze-repeats:把连续重复的字符以单独一个字符表示
-t或--truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
使用<来重定向标准输入
某些命令能够接受从文件中导入的STDIN
$tr ‘a-z’ ‘A-Z’ </etc/issue
该命令会把/etc/issue中的小写字符都转换成写写字符
tr �d abc < /etc/fstab 删除fstab文件中的所有abc中任意字符
[root@localhost ~]# cat > filea
mage
wangxiaochun
按ctrl+d离开,可以使用文件来代替键盘的输入
[root@localhost ~]# cat > filea < fileb
26,less:一页一页地查看输入
ls -l /etc | less
mail:通过电子邮件发送输入:
echo "testemail" | mail -s "test" user@example.com
lpr:把输入发送给打印机
echo "testprint" | lpr-Pprinter_name
命令1 | tee 文件名 | 命令2
28,useradd [options] LOGIN 用户创建
-u UID:[UID_MIN,UID_MAX]定义在/etc/login.defs
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c “COMMENT” :用户的注释信息
-d HOME_DIR:指定路径(不存在)的家目录
-G GROUP1[GROUP2,...]:为用户指明附加组,组必须事先存在
-N:不创建私用组做主组,使用users组做主组
-r:创建系统用户CentOS 6:ID<500,CentOS 7:ID<1000
29,usermod [OPTION] login
-u UID:新UID
-g GID:新基本组
-G GROUP1 [GROUP2,...[,GROUPN]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL:新的默认SHELL
-c ・COMMENT・:新的注释信息
-d HOME:新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录,若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name:新的名字
-L:lock锁定用户,在/etc/shadow密码栏中增加!
-U:unlock解锁用户,在/etc/shadow密码栏中去掉!
-e:YYYY-MM-DD:指定用户账号过期日期
-f INACTIVE:设定非活动期限
30,userdel [OPTION]...login
31,查看用户ID相关信息
id [OPTION]... [USER]
-u:UID
-g:GID
-G:Groups
-n:Name
-l:锁定指定用户
-u:解锁指定用户
-n mindays:最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码
echo "PASSWORD" | passwd --stdin USERNAME
33,chage [OPTION]... LOGIN ;修改用户密码策略。最大天数,最小天数,过期时间
-d LAST_DAY
-E ,--expiredate EXPIRE_DATE
-I,--inactive INACTIVE
-m,--mindays MIN_DAYS
-M,--maxdays MAX_DAYS
-W,--warndays WARN_DAYS
-l,显示密码策略
例:下一次登录强制重设密码
chage -d 0 tom
chage -m 0 -M 42 -W 14 -I 7 tom
chage -E 2016-09-10 tom
34,groupadd创建组
groupadd[OPTION]... group_name
-g GID: 指明GID号;[GID_MIN,GID_MAX]
-r: 创建系统组;
CentOS 6: ID<500CentOS 7: ID<1000s
35,groupmod修改和删除组
组属性修改:groupmod
groupmod[OPTION]... group
-n group_name: 新名字
-g GID: 新的GID;
组删除:groupdel
groupdelGROUP
36,gpasswd更改组密码组密码:gpasswdgpasswd[OPTION] GROUP-a user: 将user添加至指定组中;-d user: 从指定组中移除用户user-A user1,user2,...: 设置有管理权限的用户列表newgrp命令:临时切换基本组;如果用户本不属于此组,则需要组密码