1.对Linux系统的认识
linux指的是操作系统中的内核
我们所说的操作系统是linux的内核+GNU组织的软件 GNU/linux
内核即管理整个操作系统的核心,犹如人的大脑发挥着至关重要的作用
linux是一个倒树结构
linux之中的所有东西都是文件的形式
这些文件都存在于系统顶级目录 "/“ 也就是根目录(见下图)
根目录下的二级目录对应的功能如下:
/bin 二进制可执行文件也就是系统命令
/sbin 系统管理命令存放位置
/boot 启动分区,负责系统启动
/dev 设备管理文件
/etc 大多数系统管理文件
/home 普通用户的家目录
/lib 32位系统库文件存放位置
/lib64 64位系统库文件存放位置
/media 系统临时设备挂载点
/mnt 系统临时设备挂载点
/run 系统临时设备挂载点
/opt 第三方软件安装位置
/proc 系统信息
/root 超级用户家目录
/srv,/var 系统数据
/sys 系统管理,主要是关于内核的
/tmp 系统临时文件存放位置
/usr 系统用户相关信息数据及用户自定义软件存放位置
2.文件的路径
(1)绝对路径
文件在系统中的真正位置,以 "/"开头。 例如:/etc/abrt/abrt.conf
(2)相对路径
文件相对与当前位置的一个简写,其名字不会以"/"开头,名字会自动添加pwd的值。 例如:westos/linux_class1
3.文件的管理
(1)建立文件
touch file ## 创建一个名为file的文件,touch的本质是修改文件的时间戳
(2)建立目录
mkdir test ## 创建一个名为test的目录
-p ##上级目录不存在时自动建立
(3)删除文件或目录
rm -f file ##强行删除文件不提醒 f是force的缩写
rm -rf 目录 ##强行删除目录 -r 表示递归,就是目录本身和里面的所有内容
-rf 和-fr 效果相同
(4)查看文件内容
cat file ##文件内容查看命令
(5)复制文件或目录
cp file1 file2 ##把file1复制到file2
cp file file1 file2 ... directory ##把file file1 file2 ... 复制到 directory中
cp file test ##建立test文件模板为file
cp -r directory direcotry1 ##复制目录
(6)移动文件或目录
mv file directory
mv 存在文件 不存在文件 ##重命名已存在的文件
mv westos/linux . ##把westos的linux移动到当前位置,"."表示当前系统所在位置
(7)列出目录或文件的信息
ls ##如果后面没有目标那么默认目标为当前目录
ls direcory|filename ##列出文件或目录内容
ls -d direcotry ##列出目录本身
ls -l filename|directory ##列出文件或目录里面内容的属性
ls -ld directory ##列出目录本身属性
ls -a ##显示目录中的所有内容,包括以"."开头的隐藏文件
ls -R ##递归显示目录中的内容
(8)文件目录的切换
cd directory ##切换到指定的目录
cd - ##切换到工作目录到之前的目录
cd ~ ##切换到家目录
cd ~username ##切换到指定用户的家目录
cd .. #切换到上一级目录
小结: ~ 当前用户的家目录
~username 指定用户的家目录
- 工作目录之前的目录
.. 上一级目录
.当前目录
(9)其他文件操作
file filename ##查看文件类型
head ##显示指定文件的前多少行
head -n 7 passwd ##显示文件的前7行
tail ##显示文件的后多少行
tail -n 5 passwd ##显示文件的最后5行
less ##分页浏览
wc ##统计文件的字数,字符数,字节数
wc -l ##行数
wc -m ##字符数
wc -c ##字节数
wc -w ##字数
4.vim方式编辑文件
(1)vim filename ##进入到命令模式,命令模式无法编辑文件
(2)按"i"进入插入模式
(3)如果完成编辑按"esc"退出插入模式,
(4) 输入":wq"完成编辑并保存退出。
(5) vim ##直接执行vim操作 在文件的编写结束之后需要 :wq filename
(6)vim filename 如果文件名字不存在则直接自动新建
(7)vim的退出模式
:q 当用vim打开文件但没有对字符作出任何操作时可直接退出
:q! 当用vim打开文件并对字符作操作,放弃所有操作推出
:wq 保存退出
:wq! 强行保存退出,对超级用户及文件所有人生效
5.正则表达式
* ##匹配0到任意字符
? ##匹配单个字符
[[:alpha:]] ##匹配单个字母
[[:lower:]] ##匹配单个小写字母
[[:upper:]] ##匹配单个大写字母
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##匹配单个数字或字母
[[:punct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
例:建立文件然后使用通配符删除
{ } 表示不存在的或者存在的
{1..9} ###1-9
{a..f} ###a-f
{1,3,5} ###135
{a,c,e} ###a c e
{1..3}{a..c} ###1a 2a 3a 2a 2b 2c 3a 3b 3c
touch westos{1..3}{a..c}共建立了9个文件
[ ] 表示存在的
[a-C] ###aA bB cC
[a-c] ###aA或者bB或者c
[1-3] ###1或者2或者3
[145] ###1或者4或者5
[^abc]|[!abc] ###除了a并且除了b并且除了c