说明:关于网络上公开Linux视频学习笔记

一、系统目录结构

Linux系统从根目录“/”出发可以找到任何文件 其中bin、sbin、lib、lib64目录软连接到/usr/bin、/usr/sbin、/usr/lib、/usr/lib64,是为了兼容CentOS6目录结构

  • /bin 存放普通用户使用的命令,如/bin/ls
  • /sbin 存放超级管理员使用的命令,如/sbin/useradd
  • /home 普通用户家目录,默认是/home/username
  • /root 超级管理员家目录,普通用户无法访问
  • /usr usr是Unix System ResourceUnix系统资源简写,在/usr目录下常用目录如下:
    • /usr/local:软件安装的目录
    • /usr/bin : 存放普通用户使用的命令,如/bin/ls
    • /usr/sbin :存放超级管理员使用的命令,如/sbin/useradd
    • /usr/lib :存放32位库文件Glibc
    • /usr/lib64:存放64位库文件Glibc
  • /boot 存放系统启动相关文件,如kernel(内核)、grub(引导装载程序)
  • /etc 存放所有服务的配置文件,如
    • /etcsysconfig/network-script/ifcfg-xxx:网络配置目录
    • /etc/hostname:系统主机名配置文件
    • /etc/resolv.conf:文件是DNS客户端配置文件
    • /etc/hosts:本地域名解析配置文件
  • /var 存放一些变化的文件,如/var/log/下的日志文件,/var/tmp/进程产生的临时文件
  • /tmp 存放系统临时目录
  • /dev 存放设备文件,如硬盘、磁盘分区、光驱等,如
    • /dev/null:黑洞设备
    • /dev/sd:硬盘,如sda、sdb等
    • /dev/random:生成随机数设备
    • /dev/zero:生成数据设备
  • /media 存放自动挂载的硬件设备
  • /mnt 存放手动挂载的硬件设备
  • /proc 记录当前系统正在运行的进程实时信息,如进程信息、内存资源信息、磁盘分区信息等
  • /opt 第三方工具默认安装目录
  • /run 存放系统运行时需要的文件,不能随便删除
  • /srv 存放本机提供的服务或数据,用户主动产生的数据,对外提供服务 */sys 存放硬件设备的驱动程序信息

二、文件路径

1、绝对路径和相对路径

绝对路径:从根目录“/”开始写的路径,比如/home/joker 相对路径:相对于当前目录来说,比如 test.txt、./test.txt、../test.txt

2、切换目录命令cd

用法: cd 绝对路径或相对路径 cd dirpath # 切换到路径dirpath cd ~ # 切换到用户家目录 cd .. # 切换到上一级目录 cd - # 切换到之前目录

3、打印工作目录pwd

pwd [ -P ] 参数P表示显示真实路径,而不是链接路径

三、文件操作

1、创建文件

touch filename... //创建空文件,可以一次创建多个空文件,若文件已存在,则修改文件时间

2、创建目录

mkdir [-mpv ] dirname -m:配置目录权限,默认权限是775 -p:递归创建目录 -v:显示详细信息

3、复制文件 cp [OPTION]... [-T] SOURCE DEST cp [OPTION]... SOURCE... DIRECTORY -a:相当于-pdr -d:若源文件是链接文件的属性,则复制链接文件属性而非文件本身 -i:若目标文件已经存在,在覆盖时会询问操作的进行 -p:连同文件的属性一同复制过去 -r:递归复制

//复制文件并重命名

//复制文件并保留文件或目录属性

//递归复制文件或目录

//复制多个文件至目录,最后一个目录是目标目录,即将前面的文件目录复制到最后的目录中

4、移动文件 mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE...

//重命名文件

//移动文件到目录

//移动目录到另一个目录

//移动多个文件到一个目录

5、删除文件

rm [OPTION]... FILE... -r:递归操作 -f:强制操作 -v:详细信息 //删除目录和文件

//强制删除,慎用

四、查看文件内容

1、cat

cat [OPTION]... [FILE]... -n:显示行号 -A:显示特殊符号 -E:显示结束符

// cat -n /etc/passwd

// cat -A /etc/passwd

// cat -E /etc/passwd

// cat >> filename << EOF

2、more

使用回车键上下翻动,空格键进行翻页,q键退出,显示文件百分百 more /etc/services

3、less

使用光标上下翻动,空格键进行翻页,q键退出,不显示文件百分比 less /etc/services

4、head

从头部查看若干行,默认是10行 head -# filename // 从头部显示#行内容

5、tail

从尾部查看若干行,默认是10行 tail -# filename // 从尾部显示#行内容 tail -f filename // 查看文件尾部的变化 执行yum install git -y

6、grep

匹配/etc/passwd文件中的root相关的行 [root@localhost ~]# grep "root" /etc/passwd 匹配/etc/passwd文件中的以root开始相关的行 [root@localhost ~]# grep "^root" /etc/passwd

匹配/etc/passwd文件中的以root开始相关的行 [root@localhost ~]# grep "^root" /etc/passwd

匹配/etc/passwd文件中的以bash结尾相关的行 [root@localhost ~]# grep "bash$" /etc/passwd 匹配/etc/passwd文件中的以bash结尾相关的行,并显示行号 [root@localhost ~]# grep -n "bash$" /etc/passwd

匹配/etc/passwd文件中除了“ftp”z之外的行 grep -v "ftp" /etc/passwd

匹配多个条件 [root@localhost ~]# grep -Ei "^root|ftp" /etc/passwd

五、字符处理

1、sort

sort [OPTION]... [FILE]... -r:倒序输出 -n:按数字排序 -t:指定分隔符,默认是空格 -k:指定第几列

// 默认排序

// 按照数字排序,默认只比较第一个数字

// 按照数字大小排序

2、uniq

uniq [OPTION]... [INPUT [OUTPUT]] -c:计算重复的行 // 去除重复行 // 去除重复行,并统计每行内容重复次数

3、cut

cut OPTION... [FILE]... -d:指定分隔符 -f:数字,取第几列 -c:按字符取 // 提取用户和shell类型

4、wc

wc [OPTION]... [FILE]... -l:统计文件行数 -c:显示文件字节 -w:显示文件单词 // 统计/etc/fstab文件有多少行

六、文件属性

使用ls -l 命令查看文件属性。 [ 文件类型文件权限 ] [ 硬连接次数 ] [ 属主 ] [ 属组 ] [ 文件大小 ] [ 上一次文件修改时间 ] [ 文件名称 ] 文件类型: -:普通文件 d:目录文件 b:块设备文件,如/dev/sda1 c:字符设备,如/dev/tty1 s:套接字文件 p:管道文件 l :链接文件 文件权限: 文件权限用r,w,x分别表示读、写、执行权限。依次为属主、属组和其他用户对该文件拥有的权限。 硬链接: 文件有用户数据和元数据两部分组成。用户数据即文件数据块,是记录文件真实内容的地方,称为block。元数据即文件的附加属性,如文件大小、创建时间、所有者等信息,成为Innode。 Linux系统中引入两种连接,软链接和硬链接。软链接文件类似Windows 系统中的快捷方式,将innode指向源文件的block,访问软连接文件时,实际是访问源文件。若一个innode对应多个文件,称这些文件为硬链接。