1.目录管理
Linux的目录为树形结构,也叫目录树,所有的目录都是从根目录(/)衍生而来,然后再一级一级分叉。FHS作为linux的目录配置标准用于规定不同的目录下都应该放什么样的数据。
/:根目录,所有目录的源头
/dev :存放设备文件,常见的/dev/hd(IDE接口硬盘)、/dev/sd(SATA接口硬盘、U盘)
/home:系统用户的家目录,每新建一个用户都会在该目录下生成一个以该用户名为名称的目录。注意:root用户的家目录为/root。
/lib、/lib64:用户存放系统的函数库,lib64用于存放64位的函数库。
/etc:存放配置文件,系统主要的配置文件都放在这里,像用户的密码信息、一些服务的启动配置等信息
/mnt:用于暂时挂载设备
/boot:用于存放开机时会用到的文件
/usr:用于存放系统软件资源,一般自行安装的软件会在这个目录下
2.目录操作
绝对路径和相对路径
绝对路径:是由根目录开始,如/home/tiger,无论在任何目录下使用绝对路径都可以准确的切换到这个唯一的目录;
相对路径:不是由根目录开始,是相对于当前目录而言,在不同的目录下执行的结果会不一样。
pwd:查看当前所在目录
cd:切换目录
cd . :切换到当前目录
cd ~+ :切换到当前目录
cd ..: 切换到当前目录的上一层目录
cd ~ 切换到当前账户的主目录
cd ~username (username前无空格)切换到账户username的主目录
cd - 切换到当前用户当前目录之前的目录
ls:查看目录
ls 列出当前目录下的文件和目录,不包含隐藏目录
ls -a 列出当前目录下的文件和目录,包含隐藏目录
ls -A 列出当前目录下的文件和目录,包含隐藏目录,不包含.和..
ls -d 列出目录本身而不是目录下的数据
mkdir name:在当前目录下新建名为name的目录
file:查看文件类型
file filename用于查看文件类型
touch:新建文件
touch命令用于修改访问时间,常用于新建文件.
文件内容查看:cat、tac、nl、more、less、head、tail
cat filename:输出文件filename内容到屏幕
cat -n filename:输出文件filename的内容到屏幕,并添加行号
head -n number filename:只显示前number行的数据。
head -n -number filename:显示除了后面number行以外的所有数据。
tail -n number filename:输出文件filename内容到屏幕,只显示后面number行数据。
tail -n +number filename:显示number行以后的数据
tail 同理
wc:统计文件内容信息
wc -l filename:统计文件filename的行数
wc -c filename:统计文件filename的字节数,这里需要注意的是每行后面其实还有一个换行符/n,占用一个字节
wc -m filename:统计filename的字符数
cp:复制文件/目录
cp source_file destination_file:复制source_file文件内容到destination_file。
cp -r source_directory destination_directory:用于复制目录,表示复制source_directory目录内容到destination_directory。
mv:移动文件/目录
mv source destination:移动source到destination,可以是文件也可以是目录。
rm:删除文件/目录
rm filename:删除文件filename
rm -r directory:递归删除目录。
rm -f:强制删除
正则表达式
符号 含义
[[:alpha:]] 表示英文字符,包含大小写
[[:lower:]] 表示小写字符
[[:upper:]] 表示大写字符
[[:digit:]] 表示数字
[[:alnum:]] 表示字母或数字
[[:punct:]] 表示标点符号
[[:space:]] 表示空格
* 表示任意字符
? 表示单个字符
{} 表示存在的或不存在的
{0..9} 表示0到9
{1,3,5} 表示1/3/5共3个数字
{a..d} 表示a到d共4个字符
{a,d,k} 表示a/d/k共3个字符
{a,d,k}{1,3,5} 表示a1/a3/a5/d1/d3/d5/k1/k3/k5共9种
[] 表示存在的
[a-B] 表示aA/bB
[a-b] 表示a/b
[1-3] 表示1/2/3
[123] 表示1/2/3
[^abc]或[!abc] 表示不是a并且不是b且也不是c