linux文件和目录

系统目录结构

/root 超级管理员root用户的家目录
/home 普通用户家目录的根目录
/etc 存放配置文件相关的目录
/boot 系统启动相关的文件
/dev 设备相关的文件
/bin 普通用户所使用的命令相关的文件,/sbin也存放了命令是为超级用户准备的
/lib 存放库相关的文件/lib64同样
/media 媒介目录。插入U盘会自动放到这个目录下
/mnt 临时挂载目录
/proc 系统进程相关目录
/run 存放进程产生的临时文件,一关机就消失
/srv 服务产生的文件
/sys 存放系统内核相关的文件
/tmp 临时目录,权限很低任何用户都可以使用。
/usr 用户相关的文件,比如/usr/bin /usr/sbin /usr/lib
/var 日志相关的文件
  • 从centos7系统以后,就不在区分32位和64位版本,都是64位版本。
  • 总结:/bin  /sbin /etc /var /usr/local这几个目录用的最多的,常用。
  • tree命令 :以树形的形式显示一个目录下有那些目录和子文件。

安装tree命令

# yum install -y tree

tree参数

-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。
-g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
-i 不以阶梯状列出文件或目录名称。
-I<范本样式> 不显示符合范本样式的文件或目录名称。
-l 如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录。
-n 不在文件和目录清单加上色彩。
-N 直接列出文件和目录名称,包括控制字符。
-p 列出权限标示。
-P <范本样式> 只显示符合范本样式的文件或目录名称。
-q 用”?”号取代控制字符,列出文件和目录名称。
-s 列出文件或目录大小。
-t 用文件和目录的更改时间排序。
-u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
-x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

tree语法

tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

ls命令

  • ls命令是列出目录或者文件的命令
  • 可以列出系统根目录看下linux系统有哪些目录
[root@centos ~]# ls /
bin   data  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
boot  dev   home  lib64  media       opt  root  sbin  sys  usr

ls命令总结

ls -l 列出详细信息

ls -i 列出ionde

ls -lh 看文件大小

ls -la 列出躲猫猫文件

ls -lta t表示时间,按实际的顺序排列

ls -ld 只列出文件夹
动手去演示哦

文件类型 以文件开头第一个字母可以查看出是什么类型文件

- 普通文件
d 目录
l 软链接文件(类似windows快捷方式)
c 字符串设备文件键盘鼠标之类
b 块设备文件,磁盘光盘之类
s sockte文件,用于系统进程或服务之间的通信。

[root@centos ~]# ls -l /dev/
crw------- 1 root root     10, 235 Jul 23 21:12 autofs
drwxr-xr-x 2 root root          80 Jul 24 05:12 block
crw------- 1 root root     10, 234 Jul 23 21:12 btrfs-control
drwxr-xr-x 3 root root          60 Jul 23 21:12 bus
drwxr-xr-x 2 root root        2640 Jul 29 16:47 char
crw------- 1 root root      5,   1 Jul 23 21:12 console
lrwxrwxrwx 1 root root          11 Jul 24 05:12 core -> /proc/kcore
drwxr-xr-x 3 root root          60 Jul 23 21:12 cpu
crw------- 1 root root     10,  61 Jul 23 21:12 cpu_dma_latency
crw------- 1 root root     10,  62 Jul 23 21:12 crash
drwxr-xr-x 4 root root          80 Jul 24 05:12 disk
drwxr-xr-x 2 root root          60 Jul 24 05:12 dri
crw-rw---- 1 root video    29,   0 Jul 23 21:12 fb0
lrwxrwxrwx 1 root root          13 Jul 24 05:12 fd -> /proc/self/fd

alias命令

  • alias就是命令的别名,可以理解给一个很长的命令设置简单的命令方便操作偷懒。
  • alias的作用就是,可以简写命令。
  • 用which来查看命令的别名和路径
[root@centos ~]# which ls #查看ls命令
alias ls='ls --color=auto'
	/usr/bin/ls
[root@centos ~]# which ll
alias ll='ls -l --color=auto'
	/usr/bin/ls

输入alias来看系统有那些别名命令

[root@centos ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'

自定义一个别名

[root@centos ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  #想看这个文件内容但长难记
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
这时候定义别名来偷懒
[root@centos ~]# alias abc='cat /etc/sysconfig/network-scripts/ifcfg-eth0' #设置alias
[root@centos ~]# abc #输入abc就不用打那么长命令
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

取消alias别名

[root@centos ~]# unalias abc #取消
[root@centos ~]# abc #再输入就没了
-bash: abc: command not found

which命令

which命令可以查看一个或者多个命令,可执行文件的绝对路径,并且会显示命令的别名。

which命令是通过遍历PATH环境变量路径的方式查找文件的。

如果一个命令不存在与PATH的任何一个路径下,使用which是查找不到的。

cd命令

pwd 显示当前的工作路径
变更目录:cd 路径
cd - 返回变更目录前的路径
cd 后边什么也不加,会回到当前用户的家目录等于cd ~的用法
cd..  返回上一级目录,在根目录cd.. 不会变更目录。

创建和删除目录mkdir rmdir

mkdir 路径 会创建一个新的目录(中间的目录必须存在)
mkdir -p 路径 级联创建一串目录
mkdir -v 路径 可以看到创建目录的过程

rmdir 删除一个空的目录(目录非空不能删除)
rmdir -p 级联删除一串空的目录

rm命令

rm 删除文件,删除时会提示是否删除。默认会附带选项-i。使用/usr/bin/rm就不会有提示。
rm -f 强制删除没有任何提示,包括错误信息也不提示。
rm -r 删除目录
rm -v 删除时可以看到删除的过程

语法
rm -rfv [目录]
原文地址:https://www.cnblogs.com/yantou/p/13406488.html