Linux目录结构
Windows: 以多根的方式组织文件 C:\ D:\ E:\
Linux: 以单根的方式组织文件 /
/目录结构: FSH (Filesystem Hierarchy Standard) 注:下图为Centos7目录结构
bin 普通用户使用的命令 /bin/ls, /bin/date sbin 管理员使用的命令 /sbin/service . . dev 设备文件 /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/random . . . root root用户的HOME home 普通用户家Base目录 . . proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态
. . usr 系统文件,相当于C:\Windows /usr/local 软件安装的目录,相当于C:\Program /usr/bin 普通用户使用的应用程序 /usr/sbin 管理员使用的应用程序 /usr/lib 库文件Glibc 32bit /usr/lib64 库文件Glibc 64bit . . boot 存放的系统启动相关的文件,例如kernel,grub(引导装载程序) . etc 配置文件 系统相关如网络/etc/sysconfig/network /etc/hostname 应用相关配置文件如/etc/ssh/sshd_config...
lib 库文件Glibc lib64 库文件Glibc
tmp 临时文件(全局可写:进程产生的临时文件)
var 存放的是一些变化文件,比如数据库,日志,邮件.... mysql: /var/lib/mysql vsftpd: /var/ftp mail: /var/spool/mail cron: /var/spool/cron log: /var/log 临时文件: /var/tmp(进程产生的临时文件)
命令存储位置:
/usr/bin 普通用户使用的应用程序 /usr/sbin 管理员使用的应用程序 . . . . .
文件定位 路径
. .
绝对路径: 从/开始的路径 /home/alice/file1 相对路径: 相对于当前目录开始 a.txt ./a.txt ../bob/a.txt [假如:此时在目录/home/alice]
绝对路径示例: [root@youryg /]# useradd alice [root@youryg /]# touch /home/alice/file1 [root@youryg /]# touch ~/file2 [root@youryg /]# touch ~alice/file3 . .相对路径示例: [root@youryg /]# pwd [root@youryg /]# /root [root@youryg /]# mkdir abc [root@youryg /]# touch ../file3 [root@youryg /]# touch file4 . . .
Linux文件管理
- 文件管理之:创建/复制/移动/删除 ==创建 文件 touch [root@youryg /]# touch file1.txt //无则创建,有则修改时间 [root@youryg /]# touch file3 file4 [root@youryg /]# touch /home/file10.txt [root@youryg /]# touch /home/file5 file6 [root@youryg /]# touch /home/{zhuzhu,gougou} [root@youryg /]# touch file{1..20} [root@youryg /]# touch file{a..c} [root@youryg /]# touch yang{a,b,c} //{}集合,等价touch yanga yangb yangc
目录 mkdir [root@youryg /]# mkdir dir1 [root@youryg /]# mkdir /home/dir2 /home/dir3 [root@youryg /]# mkdir /home/{dir4,dir5} [root@youryg /]# mkdir -v /hoem/dir8/111/22 [root@youryg /]# mkdir -pv /hoem/dir8/111/222 //包括其父母的创建,不会有任何消息输出
==复制 cp Usage: cp [OPTION]... [-T] SOURCE DEST [root@youryg /]# cd [root@youryg /]# mkdir /home/dir{1,2} [root@youryg /]# cp -v anaconda-ks.cfg /home/dir1 //目录 [root@youryg /]# cp -v anaconda-ks.cfg /home/dir1/yang.txt //文件 [root@youryg /]# cp -rv /etc /home/dir1 [root@youryg /]# cp -v anaconda-ks.cfg /home/dir90 //没有/home/dir90 [root@youryg /]# cp -v anaconda-ks.cfg /home/dir2 [root@youryg /]# cp -v file1 !$ [root@youryg /]# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hostname /home/dir2 //将多个文件拷贝到同一个目录 [root@youryg /]# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/passwd /etc/hostname /etc/hosts . [root@youryg /]# cp -r /etc /tmp [root@youryg /]# cp -rf /etc /tmp [root@youryg /]# \cp -r /etc /tmp
[root@tianyun ~]# type -a cp cp is aliased to `cp -i' cp is /bin/cp
[root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak [root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth0.bak} [root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/ifcfg-eth0{,-org} [root@tianyun ~]# cp -rv /etc/sysconfig/network-scripts/{ifcfg-eth0,yang-eth0}
==移动 mv Usage: mv [OPTION]... [-T] SOURCE DEST [root@youryg /]# mv file1 /home/dir3 将file2移动到/home/dir3 [root@youryg /]# mv file2 /home/dir3/file20 将file2移动到/home/dir3,并改名为file20 [root@youryg /]# mv file4 file5 将file4重命名为file5,当前位置的移动就是重命名
==删除 rm
示例1:
手动删除: /home/dir1
[root@youryg /]# cd /home
[root@youryg /]# rm -rf dir1
-r 递归
-f force强制
-v 详细过程
脚本删除: /home/dir1
rm -rf /home/dir1
示例2: [root@tianyun ~]# mkdir /home/dir10 [root@tianyun ~]# touch /home/dir10/{file2,file3,.file4} [root@tianyun ~]# rm -rf /home/dir10/* //不包括隐藏文件 [root@tianyun ~]# ls /home/dir10/ -a . .. .file4
示例3: [root@tianyun ~]# rm -rf file* [root@tianyun ~]# rm -rf *.pdf
- 文件管理之:查看文件内容
==文本文件 (cat tac less more head tail tailf grep ...)
/bin/date
/etc/hosts
/etc/hostname
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/passwd
/etc/shadow
/etc/group
/etc/grub2.cfg
/etc/resolv.conf
/etc/profile //设置系统环境变量 /etc/bashrc //影响bash shell环境 /var/log/messages //系统主日志文件 /var/log/secure //跟安全相关的日志如ssh登录,本地登录...
cat
-n 显示行号
-A 包括控制字符(换行符/制表符)
linux $
Windows ^M$
示例:b.txt为windows记事本修改 [root@tianyun ~]# wget ftp://10.18.40.100/b.txt [root@tianyun ~]# cat -A b.txt a^M$ [root@tianyun ~]# yum -y install dos2unix [root@tianyun ~]# dos2unix b.txt dos2unix: converting file b.txt to Unix format ... [root@tianyun ~]# cat -A b.txt a$
less more head tail tailf [root@tianyun ~]# head /etc/passwd [root@tianyun ~]# head -2 /etc/passwd [root@tianyun ~]# tail /etc/passwd [root@tianyun ~]# tail -1 /etc/passwd [root@tianyun ~]# tail /var/log/messages [root@tianyun ~]# tail -20 /var/log/messages [root@tianyun ~]# tail -f /var/log/secure //-f 动态查看文件的尾部 [root@tianyun ~]# tail -F /var/log/secure //-F 动态查看文件的尾部 注:vim, gedit编辑文件时,索引号会改变