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:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
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:保存系统两次重启之间产生的临时数据
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
/selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置
12,文件类型
-:普通文件
d:目录文件
b:块设备
c:字符设备
l:符号链接文件
p:管道文件pipe
s:套接字文件socket
13,ls用法
-a:包含隐藏文件
-l:显示额外的信息
-R:目录递归通过
-ld:目录和符号链接信息
-1:文件分行显示
-S:按从大到小排序
-u:配合-t选项,显示并按atime从新到旧排序
-U:不排序按目录存放顺序显示
14,stat显示文件的三个时间戳
access time:访问时间,atime,读取文件内容
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:递归删除目录树
-f:强制删除不提示
24,STDOUT和STDERR重定向到文件
格式:命令 操作符号 文件名
>:把STDOUT重定向到文件
2>:把STDERR重定向到文件
&>:把所有输出重定向到文件
>:文件内容分被覆盖
set -C:禁止将内容覆盖已有文件,但可以追加强制覆盖:>|
set +C:允许覆盖
>>:原有内容基础上,追加内容
2>:覆盖重定向错误输出数据流
2>>:追加重定向错误输出数据流
标准输出和错误输出各自定向至不同位置:格式如下;
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