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编辑文件时,索引号会改变
转载于:https://blog.51cto.com/13533802/2050784