Linux命令的语法格式:
COMMAND options arguments
选项:定义命令的执行特性
长选项:--引导,后跟单词,如 --help,--verbose
短选项:-引导,后跟单个字符,如-h,-l,-a
多个短选项可以组合: -h, -l , -a = -hla
有些选项也可以带参数
参数:定义命令的作用对象
ls : 列出指定目录下的文件
-l : 长格式显示文件的详细属性
文件类型
属主、属组及其它用户的权限
文件被硬链接次数
属主
属组
文件的大小
文件最后一次被修改的时间
时间戳:
最后一次被访问
最后一次被修改:内容
最后一次被改变:属性
-a : 显示所有文件,包括隐藏文件
-A : 跟-a功能相同,但不显示.和..;
. : 当前目录;
.. : 上级目录;
-n : 以用户级组的id号排序;
-h : 文件大小会自动进行单位换算;
-r :文件名逆序显示;
-R:递归显示;
-1 : 纵向列表显示,列表过滤或需要复制纵向结果时常用。
执行历史命令数据的快捷方法
!# : 执行历史中的第#条;
!-#: 执行历史中的倒数第#条;
!! : 命令历史中的最后一条命令;
!string : 执行命令历史中最近一条以“string”开头的命令
Ctrl+r 输入”string”: 搜索命令历史中最后一条以“string”开头的命令
COMMAND !$ 使用上一个命令的参数 也可用Alt+. 或 Esc .
系统时钟与硬件时钟的同步
hwclock
-w : 以系统时钟为准,将硬件时间修改为系统时间
-s : 以硬件时钟为准,将系统时间修改为硬件时间
Linux FHS标准目录结构:
/ : 根目录;
/bin : 二进制,可执行的命令;
/sbin : 可执行命令,仅用于管理,通常管理员才权限使用;
/boot : 引导,操作系统用于引导系统启动的文件,内核、grub;
/dev : 设备文件;
Linux的设备类型;
字符设备:c, 线性设备
块设备 : b, 随机设备
/etc : 配置文件;
/home : 用户的家目录,/home/USERNAME, jerry,/home/jerry;
/root : 管理员的家目录;
/lib, /lib64 : 库文件
/media : 挂载点目录,通常用于挂载便携性设备,如U盘;
/mnt : 挂载点目录,挂载额外的文件系统;
/misc : 备份目录;
/opt :可选目录,通常第三方软件偶尔安装于此路径下;
/proc : 伪文件系统:内存中内核的映射;
/selinux : 安全加强的Linux;
/srv : 属于服务的中间数据存储位置;
/sys : 伪文件系统,通常用于访问硬件设备属性信息;
/tmp : 临时文件目录;
/usr : 存储只读文件;
/var : 经常会发生变化的文件;比如说日志等;
切换到家目录的常用快捷方法
cd ~
cd
cd ~USERNAME : 切换到USERNAME的家目录;
cd - : 在上个目录和当前之间切换;
dirname : 显示指定路径的目录
在写脚本的时候常用来获取相应脚本的所在目录
例:
test.sh 脚本内容如下
base_dir=$(cd `dirname $0` && pwd) echo $base_dir
执行结果 : 是test.sh的所在目录
bash支持命令行展开:{}
分别创建这四个目录 a_b,a_d,c_b,c_d
方法一: mkdir a_b a_d c_b _c_d
方法二: mkdir {a,c}_{b,d} –v
分别创建这几个目录 x/y, x/z, x/y/a, x/y/b, x/m
mkdir x/{y/{a,b},z,m}
文件相关的命令:
查看:
cat , tac : 正向和反向输出文件内容
more/less
more : 向后翻,在翻至文件尾部前允许向前翻
less : 向前后都可以
head/tail
head : 文件的前n行 默认10行
tail : 文件的后n行 默认10行
-n : 指定输出n行
tail -f : 实时输出文件尾部内容;退出使用Ctrl+C;
命令别名:
alias
\COMMAND : 使用命令自身,而不使用与命令名称同名的别名;
例:在root用户下使用cp复制文件需要覆盖时默认会提示因为root用户默认别名为 alias cp=’cp -i’, 使用\cp 则 不提示直接覆盖
通配符:bash 支持文件通配 ,globbing
* : 任意长度的任意字符;
?:任意单个字符
[] : 指定范围内的凭单单个字符;[a-z]
[0-9] : 所有的数字
[a-z] : 所有的小写字母
[A-Z] : 所有的大写字母
[a-zA-Z]:所有的字母
[0-9a-zA-Z]:所有的数字和字母
不区分大小写;
字符集合(过滤文件内容时使用下面的集合比上面的字符更准确):
[:digit:] : 所有数字,相当于0-9
[0-9], [[:digit:]]
[:lower:] : 所有的小写字母
[:upper:] : 所有的大写字母
[:alpha:] : 所有的字母
[:alnum:] : 相当于[0-9a-zA-Z]
[:space:] : 空白字符
[:punct:] : 所有标点符号
[^] : 脱字符,取反,指定范围外的任意单个字符,[^0-9]
Linux 文件类型:
普通文件(-):a.html, b.txt , c.ppt , ls
目录文件(d):
特殊文件:
块设备文件(b):
字符设备(c):
符号链接文件(l) :
命名管道文件(p) : pipe
套接字文件 (s): socket
判断普通文件的内容的类型,使用file命令;
# file FILE