linux知识点整理

目录

  • 1.描述Linux发行版的系统目录名称命名规则以及用途
  • 2.描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?
  • 3.总结软连接和硬连接区别,并用实例操作说明
  • 4.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
    • pdw:显示当前工作目录
    • cd 改变目录
    • ls列出目录内容
    • CP 复制
    • mv 移动和重命名
    • rm 删除
    • tree显示目录树
    • mkdir创建目录
    • rmdir删除空目录
  • 5.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符
  • 6.在vim中设置tab缩进为4个字符

1.描述Linux发行版的系统目录名称命名规则以及用途

目录名 说明
/ linux系统的根目录
/home linux系统的家目录,也是普通用户的主目录,每个用户在该目录下都有一个与用户名相同的目录
/root 存放根用户(超级用户)的主目录
/etc 存放系统的配置文件和管理文件,都是文本格式
/boot 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/dev 存放设备文件
/bin 所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin 管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/usr 存放应用程序及相关文件
/media 便携式移动设备挂载点
/mnt 主要用于存放系统引导后被挂载的文件系统的挂载点
/lib 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/srv srv代表服务,包含服务器特定服务相关的数据
/proc 包含系统进程的相关信息
/var 用于存放系统中经常变化的文件,如日志文件、用户邮件文件等
/tmp 公共的临时文件存储点

2.描述文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息?

利用stat命令,可以显示文件的元数据
linux知识点整理_第1张图片
元数据信息如下
File:文件名
Size:文件大小
Blocks:文件所占扇区个数,为8的倍数
IO Block:每个数据块大小
regular file:普通文件
Inode:文件的Inode号
Links:硬链接次数
Access:权限
Uid:用户ID
Gid:组ID
Access:最近访问时间
Modify:数据改动时间
Change:元数据改动时间

时间戳有三种:atime,ctime,mtime
修改atime:查看文件即会修改时间戳
修改ctime:当修改文件时则会改动时间戳,而且一定也会修改mtime
修改mtime:对元数据进行修改时就会改动时间戳,比如重命名文件,修改文件所有者等操作

3.总结软连接和硬连接区别,并用实例操作说明

硬链接和软链接的区别
本质:
硬链接本质是同一个文件,多个名字
软链接本质是不同文件

表现区别:
硬链接不支持跨分区
软链接支持跨分区
linux知识点整理_第2张图片

目录
硬链接不支持对目录创建
软链接支持
linux知识点整理_第3张图片

相互关系
硬链接相互之间平等独立,删除一个不影响其他
软链接相互之间存在依赖关系,删除原始文件软链接就失效了
linux知识点整理_第4张图片

inode编号
硬链接之间用一个inode编号
软链接之间编号各不相同
linux知识点整理_第5张图片
linux知识点整理_第6张图片

链接数
硬链接创建会增长链接数,删除会减少链接数
软链接创建不会增长,删除不会减少链接数,相当于删除Windows的快捷方式
linux知识点整理_第7张图片

路径
硬链接创建的原始文件路径是相对于当前工作目录
软链接的原始文件路径是相对于软链接的相对路径
linux知识点整理_第8张图片

文件类型
硬链接创建不会改变文件类型
软链接创建文件类型为l
在这里插入图片描述

4.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

pdw:显示当前工作目录

[root@centos7 libnl]# pwd
/etc/libnl

cd 改变目录

使用绝对或相对路径
cd /home/wang/
cd home/wang
切换至父目录:cd…
切换至当前用户主目录:cd

[root@centos7 libnl]# cd
[root@centos7 ~]# 

切换至以前的工作目录:cd -

[root@centos7 ~]# cd -
/etc/libnl
[root@centos7 libnl]# 

选项:-p
相关的环境变量:
PWD:当前目录路径
OLDPWD:上一次目录路径

ls列出目录内容

ls 列出当前目录的内容或指定目录
ls -a 包含隐藏文件
ls -l 显示额外信息
ll =ls -l
ls -R 目录递归
ls -ld 目录和符号链接信息
ls-1 文件分行显示

[root@centos7 data]# ll
total 8
drwxr-xr-x. 2 root root 6 Apr 24 23:04 text10
lrwxrwxrwx. 1 root root 6 Apr 24 23:04 text11.link -> text10
-rw-r--r--. 2 root root 5 Apr 24 22:50 text1.txt
lrwxrwxrwx. 1 root root 9 Apr 24 22:54 text1.txt.link -> text1.txt
-rw-r--r--. 2 root root 5 Apr 24 22:50 text.txt
lrwxrwxrwx. 1 root root 8 Apr 24 22:54 text.txt.link -> text.txt

[root@centos7 ~]# ls -a
.                .bash_logout   .config  Documents      initial-setup-ks.cfg  Public          Videos
..               .bash_profile  .cshrc   Downloads      .local                .tcshrc         .viminfo
anaconda-ks.cfg  .bashrc        .dbus    .esd_auth      Music                 Templates       .Xauthority
.bash_history    .cache         Desktop  .ICEauthority  Pictures              text2.txt.link

[root@centos7 ~]# ls -R
.:
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates       Videos
Desktop          Downloads  Music                 Public    text2.txt.link

./Desktop:

./Documents:

./Downloads:

./Music:

./Pictures:

./Public:

./Templates:

./Videos:

CP 复制

cp -i 覆盖前提示
cp -n 不覆盖,注意两者顺序
cp -r,-R 递归复制目录及内部的所有内容
cp -a 归档,相当于-dR --preserv=all 基本充当备份效果
cp -d 不复制原文件,只复制链接名
cp -p 等同于--preserve=mode,ownership,timestamp
cp -v 查看拷贝过程
cp -av 备份并查看拷贝过程

[root@centos7 data]# cp -i /etc/passwd /data/test1.txt 
cp: overwrite ‘/data/test1.txt’? y

[root@centos7 data]# cp -av test1.txt test.txt.bak
‘test1.txt’ -> ‘test.txt.bak’

mv 移动和重命名

mv -i 交互式
mv -f 强制
mv -b 目标存在,覆盖前先备份
mv /etc/f1 /dev 把etc目录下的f1文件移动到dev目录下
mv f1 f2 把文件f1改名为f2

[root@centos7 ~]# mv -b test1.txt /data/
mv: overwrite ‘/data/test1.txt’? y

[root@centos7 etc]# mv /etc/test123 /data/

[root@centos7 data]# mv test123 text123

rm 删除

rm 选项 文件名
rm -i 交互式
rm -f 强制删除
rm -r 递归
rm -rf 删除整个文件夹
rm -rf /* 删库跑路
--no-preserve-root 删除/

> /boot/file1 把一个文件重新覆盖为0字节大小的文件,用来日常维护时清空过大的文件以免占空太多磁盘空间
rm -f /boot/file1 覆盖完后执行命令删除

[root@centos7 data]# rm -rf text123 

tree显示目录树

tree 显示目录树
  tree -d :只显示目录
  tree -L level :指定显示的层级数目
  tree -P pattern :只显示由指定pattern匹配到的路径

[root@centos7 ~]# tree
.
├── anaconda-ks.cfg
├── Desktop
├── Documents
├── Downloads
├── initial-setup-ks.cfg
├── Music
├── Pictures
├── Public
├── Templates
├── text2.txt.link -> ../data/text2.txt
└── Videos

[root@centos7 ~]# tree -d
.
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── Templates
└── Videos

[root@centos7 data]# tree -L 2
.
├── functions
├── test1.txt
├── test1.txt~
├── test.txt.bak
├── text10
│   └── f1
├── text11.link -> text10
├── text1.txt
├── text1.txt.link -> text1.txt
├── text.txt
└── text.txt.link -> text.txt

mkdir创建目录

mkdir 创建目录
  mkdir -p 存在于不报错,且可自动创建所需的各目录
  mkdir -v 显示详细信息
  mkdir -m MODE 创建目录时直接指定权限

[root@centos7 data]# mkdir f2

[root@centos7 data]# mkdir -p /data/f1/f2/f3


rmdir删除空目录

rmdir 删除空目录
  rmdir -p 递归删除父空目录
  rmdir -v 显示详细信息

[root@centos7 data]# rmdir f2

[root@centos7 data]# rmdir -pv /data/f1/f2/f3
rmdir: removing directory, ‘/data/f1/f2/f3’
rmdir: removing directory, ‘/data/f1/f2’
rmdir: removing directory, ‘/data/f1’
rmdir: removing directory, ‘/data’
rmdir: failed to remove directory ‘/data’: Device or resource busy


5.复制/etc/profile至/tmp/目录,用查找替换命令删除/tmp/profile文件中的 行首的空白字符

[root@centos7 data]# cp /etc/profile /tmp
[root@centos7 data]# sed -nr 's@(^[[:space:]]+)(.*)@\2@p' /tmp/profile 
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
export HISTCONTROL=ignoreboth
export HISTCONTROL=ignoredups
umask 002
umask 022
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then 
. "$i"
else
. "$i" >/dev/null
fi
fi

或者在vim下的命令模式输入:%s@^[[:space:]]\+@@g,即可同样完成以上操作

6.在vim中设置tab缩进为4个字符

在命令模式输入:set tabstop=4     

你可能感兴趣的:(linux知识点整理)