基础
以单根的方式组织文件
/目录结构:FSH(Filesystem Hierarchy Standard)
bin 普通用户使用的命令 /bin/ls, /bin/date --已移步到/usr/bin
sbin 管理员使用的命令 /sbin/service --已移步到/usr/sbin
# which useradd
/usr/sbin/useradd
dev 设备文件 --linux一切皆文件
# ll /dev/sd*
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3
# tty
/dev/pts/0 --终端文件
/dev/zero --空设备,类似回收站
/dev/null -- 产生随机数
/dev/random --零设备
root root用户的HOME
home 普通用户的base目录
proc 虚拟的文件系统。反映出来的是内核,进程信息或实时状态
(base) root@dell:~ # ls /proc/
1 10181 10363 10588 10783 10965 11146 1372 1575 180 2100
10 10195 10377 106 10797 10979 11160 1387 15886 18352 2101
100 102 10391 10602 108 10991 11174 14 16 18353 2117
10013 10209 10405 10616 10811 11 11188 1411 161 18636 219
(base) root@dell:~ # ps aux|grep sshd
root 2032 0.0 0.0 72296 6216 ? Ss Jul03 0:00 /usr/sbin/sshd -D
root 7738 0.0 0.0 105692 7140 ? Ss 09:22 0:00 sshd: root@pts/0
root 7920 0.0 0.0 13136 1064 pts/0 R+ 09:27 0:00 grep --color=auto sshd
root 9620 0.0 0.0 72296 3276 ? Ss Jul03 0:00 /usr/sbin/sshd
(base) root@dell:~ # ls /proc/9620
attr cwd map_files oom_adj schedstat syscall
autogroup environ maps oom_score sessionid task
auxv exe mem oom_score_adj setgroups timers
cgroup fd mountinfo pagemap smaps timerslack_ns
clear_refs fdinfo mounts patch_state smaps_rollup uid_map
cmdline gid_map mountstats personality stack wchan
comm io net projid_map stat
coredump_filter limits ns root statm
cpuset loginuid numa_maps sched status
usr 系统文件,相当于C:\Windows
/usr/local 软件安装的目录
/user/bin 普通用户使用的应用程序
/user/sbin 管理员使用的应用程序
/usr/lib 库文件Glibc
/usr/lib64 库文件Glibc
(base) root@dell:~ # df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 0 16G 0% /dev
tmpfs 3.2G 2.5M 3.2G 1% /run
/dev/sda2 915G 123G 746G 15% /
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/loop0 110M 110M 0 100% /snap/kafka/10
/dev/loop1 89M 89M 0 100% /snap/core/7270
/dev/loop5 114M 114M 0 100% /snap/kafka/11
/dev/sda1 511M 6.1M 505M 2% /boot/efi
(base) root@dell:~ # ls /usr
bin games include lib local sbin share src
boot 存放系统启动相关的文件,例如kernel,grub(引导装载程序)
(base) root@dell:~ # ls /boot
config-4.15.0-52-generic initrd.img-4.15.0-52-generic vmlinuz-4.15.0-52-generic
config-4.15.0-54-generic initrd.img-4.15.0-54-generic vmlinuz-4.15.0-54-generic
efi System.map-4.15.0-52-generic
grub System.map-4.15.0-54-generic
-- 其中 vmlinuz-4.15.0-54-generic 是kernel内核
etc 配置文件
系统相关如网络:/etc/python3.7
应用相关配置文件:/etc/ssh/ssh_config
(base) root@dell:/etc/python3.7 # cd /etc/ssh
(base) root@dell:/etc/ssh # pwd
/etc/ssh
(base) root@dell:/etc/ssh # ls
moduli ssh_host_dsa_key ssh_host_ecdsa_key.pub ssh_host_rsa_key
ssh_config ssh_host_dsa_key.pub ssh_host_ed25519_key ssh_host_rsa_key.pub
sshd_config ssh_host_ecdsa_key ssh_host_ed25519_key.pub ssh_import_id
(base) root@dell:/etc/ssh #
var 存放变化文件,比如数据库,日志,邮件
mysql: /var/lib/mysql
vsftpd: /var/ftp
mail: /var/spool/mail
cron: /var/spool/cron
log: /var/log
临时文件: /var/tmp(进程产生的临时文件)
(base) root@dell:/etc/ssh # ls /var
backups cache crash lib local lock log mail opt run snap spool tmp www
设备(主要指存储设备)挂载目录
media 移动设备默认的挂载点
mnt 手工挂载设备的挂载点
misc automount进程挂载
net automount进程挂载
命令存储位置:
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序
库文件存储位置:
/usr/lib 库文件Glibc
/usr/lib64 库文件Glibc
查看
--查看当前目录文件 .当前
(base) root@dell:~ # ls .
anaconda3 CTFS-run his.txt snap wxc
-- .. 上一级目录
(base) root@dell:/data # cd ..
(base) root@dell:/ #
-- ~用户主目录
(base) root@dell:/ # cd /data/workspace/
(base) root@dell:/data/workspace # cd ~
(base) root@dell:~ #
创建
--文件
lyq@DESKTOP-40030BI:~/test_data$ ls
lyq@DESKTOP-40030BI:~/test_data$ touch file2 file5
lyq@DESKTOP-40030BI:~/test_data$ ls
file2 file5
lyq@DESKTOP-40030BI:~/test_data$ touch fie{1..20}
lyq@DESKTOP-40030BI:~/test_data$ ls
fie1 fie11 fie13 fie15 fie17 fie19 fie20 fie4 fie6 fie8 file2
fie10 fie12 fie14 fie16 fie18 fie2 fie3 fie5 fie7 fie9 file5
lyq@DESKTOP-40030BI:~/test_data$ touch fii{a..f} --支持字母序列
lyq@DESKTOP-40030BI:~/test_data$ ls
fie1 fie11 fie13 fie15 fie17 fie19 fie20 fie4 fie6 fie8 fiia fiic fiie file2
fie10 fie12 fie14 fie16 fie18 fie2 fie3 fie5 fie7 fie9 fiib fiid fiif file5
lyq@DESKTOP-40030BI:~/test_data$ touch gg{a,b,v} --理解为集合
lyq@DESKTOP-40030BI:~/test_data$ ls
fie1 fie11 fie13 fie15 fie17 fie19 fie20 fie4 fie6 fie8 fiia fiic fiie file2 gga ggv
fie10 fie12 fie14 fie16 fie18 fie2 fie3 fie5 fie7 fie9 fiib fiid fiif file5 ggb
--文件夹
lyq@DESKTOP-40030BI:~$ mkdir -v dir2/33
mkdir: cannot create directory ‘dir2/33’: No such file or directory
lyq@DESKTOP-40030BI:~$ mkdir -pv dir2/33 --父目录也一同创建,并输出信息
mkdir: created directory 'dir2'
mkdir: created directory 'dir2/33'
lyq@DESKTOP-40030BI:~$
复制
--复制
lyq@DESKTOP-40030BI:~$ cp /home/lyq/dir1 /home/lyq/dir2/yy
cp: -r not specified; omitting directory '/home/lyq/dir1'
lyq@DESKTOP-40030BI:~$ cp /home/lyq/dir1/tt /home/lyq/dir2/yy -- 等价于cp /home/lyq/dir1/tt !$
lyq@DESKTOP-40030BI:~$ cp -v /home/lyq/dir1/tt /home/lyq/dir2/pp --选项v会增加输出操作数据
'/home/lyq/dir1/tt' -> '/home/lyq/dir2/pp
lyq@DESKTOP-40030BI:~$ ls /home/lyq/dir2
33 pp yy
lyq@DESKTOP-40030BI:~$ cp /home/lyq/pic /home/lyq/dir3
cp: -r not specified; omitting directory '/home/lyq/pic'
lyq@DESKTOP-40030BI:~$ cp -r /home/lyq/pic /home/lyq/dir3 --选项r递归,整个文件夹复制时使用
lyq@DESKTOP-40030BI:~$ ls dir3
halo1.txt halo2.txt
lyq@DESKTOP-40030BI:~$ cp -rf dir1 dir5 --选项f 若遇到文件冲突,不提示
lyq@DESKTOP-40030BI:~$ ls
dir1 dir2 dir3 dir5 pic
lyq@DESKTOP-40030BI:~$ \cp -rf dir1 dir7 --跳过别名
lyq@DESKTOP-40030BI:~$ ls
dir1 dir2 dir3 dir5 dir7 pic
lyq@DESKTOP-40030BI:~$ type cp
cp is hashed (/bin/cp)
lyq@DESKTOP-40030BI:~$ type -a cp
cp is /bin/cp
移动
--移动
lyq@DESKTOP-40030BI:~$ ls
dir1 dir2 dir3 dir5 dir7 pic
lyq@DESKTOP-40030BI:~$ mv dir1 dir2 --某种程度可理解为重命名
lyq@DESKTOP-40030BI:~$ ls
dir2 dir3 dir5 dir7 pic
lyq@DESKTOP-40030BI:~$ ls -a dir2
. .. 33 dir1 pp yy
lyq@DESKTOP-40030BI:~$
--删除
lyq@DESKTOP-40030BI:~$ rm -rf dir2
lyq@DESKTOP-40030BI:~$ ls
dir3 dir5 dir7 pic
lyq@DESKTOP-40030BI:~$
-r 递归
-f 强制
-v 详细过程
lyq@DESKTOP-40030BI:~$ rm -rf dir2/* --不包括隐藏文件
查看
--文本文件
lyq@DESKTOP-40030BI:~$ cat /etc/hosts
lyq@DESKTOP-40030BI:~$ cat /etc/shadow
lyq@DESKTOP-40030BI:~$ cat /etc/group
lyq@DESKTOP-40030BI:~$ cat /etc/grub2.cfg
lyq@DESKTOP-40030BI:~$ cat /etc/resolv.conf
lyq@DESKTOP-40030BI:~$ cat /etc/profile --设置系统环境变量
lyq@DESKTOP-40030BI:~$ cat /etc/bashrc --影响bash shell环境
lyq@DESKTOP-40030BI:~$ cat /var/log/messages --系统主日志文件
lyq@DESKTOP-40030BI:~$ cat /var/log/secure --跟安全相关的日志如ssh登录,本地登录
-n --显示行号
-A 包括控制字符(换行符/制表符)
--不建议在window修改linux的文件,记事本惹的锅
yum -y install dos2unix
dos2unix b.txt
cat -A b.txt
lyq@DESKTOP-40030BI:~$ head /etc/passwd --默认查看文件的前10行
lyq@DESKTOP-40030BI:~$ head -2 /etc/passwd --查看文件的前2行
lyq@DESKTOP-40030BI:~$ wc -l /var/log/messages --统计行数
lyq@DESKTOP-40030BI:~$ tail /etc/passwd --默认查看文件的最后10行
lyq@DESKTOP-40030BI:~$ tail -1 /etc/passwd --默认查看文件的最后1行
lyq@DESKTOP-40030BI:~$ tail -20 /etc/passwd --默认查看文件的最后20行
lyq@DESKTOP-40030BI:~$ tail -f /etc/passwd --动态查看文件的尾部
lyq@DESKTOP-40030BI:~$ tail -F /etc/passwd --动态查看文件的尾部
--注:vim,gedit编辑文件时,索引号会改变
lyq@DESKTOP-40030BI:~$ less /etc/passwd --支持上下翻页
lyq@DESKTOP-40030BI:~$ more /etc/passwd
--针对文件内容过滤
lyq@DESKTOP-40030BI:~$ grep 'root' /etc/passwd
lyq@DESKTOP-40030BI:~$ grep '^root' /etc/passwd --正则,root开始
lyq@DESKTOP-40030BI:~$ grep 'root$' /etc/passwd --正则,root结束
lyq@DESKTOP-40030BI:~$ grep 'failure' /var/log/secure
文件类型
ls -l 文件名 //看第一个字符
- 普通文件(文本文件 二进制文件 压缩文件 电影 图片)
d 目录文件(蓝色)
b 设备文件(块设备)存储设备硬盘,U盘 /dev/sda /dev/sda1
c 设备文件(字符设备)打印机,终端 /dev/tty1 /dev/zero
s 套接字文件
p 管道文件
l 链接文件(淡蓝色)
lyq@DESKTOP-40030BI:~$ ll -d pic
drwxrwxrwx 1 lyq lyq 4096 Jul 5 13:44 pic/
lyq@DESKTOP-40030BI:~$ ll -dh pic --文件夹的大小
drwxrwxrwx 1 lyq lyq 4.0K Jul 5 13:44 pic/
lyq@DESKTOP-40030BI:~$ du -sh pic ---文件的大小
0 pic
--file查看文件类型
(base) root@dell:~ # file /dev/sda
/dev/sda: block special (8/0)
(base) root@dell:~ # file /etc/hosts
/etc/hosts: ASCII text
(base) root@dell:/ # file /dev/zero
/dev/zero: character special (1/5)
(base) root@dell:~/CTFS-run/CTFS-BS # file manage.py
manage.py: Python script, UTF-8 Unicode text executable, with CRLF line terminators
(base) root@dell:~/CTFS-run/CTFS-BS # file pics
pics: directory
type查看命令类型
(base) root@dell:~ # type ll
ll is aliased to `ls -alF'
(base) root@dell:~ # type ls
ls is aliased to `ls --color=auto'
(base) root@dell:~ # type useradd
useradd is /usr/sbin/useradd
(base) root@dell:~ # type cd --内置命令
cd is a shell builtin
(base) root@dell:~ # type for --keyword关键字
for is a shell keyword
stat查看文件属性
如文件的名称,大小,权限,atime,ctime,mtime
(base) root@dell:/ # stat /etc/hostname
File: /etc/hostname
Size: 5 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 56885966 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-03 14:33:19.455295542 +0800
Modify: 2019-05-24 15:41:30.168886850 +0800
Change: 2019-05-24 15:41:30.168886850 +0800
Birth: -
(base) root@dell:/data/workspace # stat CTFS-BS
File: CTFS-BS
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 802h/2050d Inode: 10492590 Links: 9
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-04 15:40:40.847909329 +0800
Modify: 2019-07-04 15:40:34.887895170 +0800
Change: 2019-07-04 15:40:34.887895170 +0800
Birth: -
网友评论