文件管理:增、删、改、查

1.文件的:查

基础信息查看,cd,pwd,ls,du,which,find,cat,more/less,head/tail,grep,wc

1)基础信息:

cat /etc/redhat-release  ##os的名称

uname -a   ##查看kernel信息,i386/i686/i586表示32CPU,x86_64表示64CPU

cat /proc/cpuinfo   ##查看cpu信息

cat /proc/meminfo   ##查看内存信息

df -h   ##查看硬盘使用情况

ip a  ##查看ip地址

ip  r  ##查看路由,也叫默认网关

cat  /etc/resolv.conf  ##查看dns设置

hostname  ##查看主机名

ctrl+d  ##推出系统,再次登录查看历史命令:cat  /root/.bash_history


2)目录的查看:cd,pwd,ls,du

a.目录结构:

/boot  ##启动文件存放目录

/etc   ##配置文件存放目录

/proc  ##系统内存状态目录,是系统快照

/dev   ##存放硬件文件的目录

/home  ##普通用户的家目录

/root  ##root用户的家目录

/var   ##动态变化的数据存放目录,如日志、数据库的数据文件

/usr   ##用户文件存放目录

总结:linux一切皆文件,所有的文件都放在目录下,所有的目录都放在/(根)目录。

echo 3 >/proc/sys/vm/drop_caches   ##清理内存

b.目录及文件的表示:相对路径和绝对路径

绝对路径:从根目录开始描述,如/etc/sysconfig/。

相对路径:从当前目录开始描述,如"."表示当前目录,../上一级目录,../../上上一级目录,./dir=dir下一级目录

一个目录可以使用相对描述也可以使用绝对描述。

案例:

cd  /etc/sysconfig

pwd  ##确认当前目录

cat   /etc/redhat-release   ##绝对路径查看

cat  ../redhat-release   ##相对路径的查看


c.目录管理命令

cd切换目录,

语法:cd [选项] [目录]

案例:

cd /etc/sysconfig   ##进入绝对目录

cd ../../   ##到根目录

cd -   ##回到上一所在目录

pwd  ##验证

cd   ##回家

pwd

useradd  u01  ##创建用户u01

echo 123123 |passwd --stdin u01  ##给u01修改密码为123123

cd  ~u01   ##进入u01的家目录

pwd  ##验证为/home/u01


pwd打印当前工作目录

语法:pwd  [选项]

案例:

pwd  ##直接查看当前工作目录即“.=?”

cd  /etc/init.d/

pwd  ##查看到是链接后的目录

pwd -P  ##查看物理路径/etc/rc.d/init.d


ls列出目录下的内容

语法:ls  [选项]  [文件/目录]

案例:

cd  /etc/sysconfig

ls   ##查看当前目录

ls -lh   ##长格式查看当前目录下的内容

ls -ld  /boot  ##查看/boot本身的详细信息

ls  -R  /   ##显示整个系统的所有内容

ls --help  ##查看帮助,推荐使用-lt按时间排序,-lS按大小排序

cd 

ls  -a  ##显示隐藏文件如.bash_profile


du统计文件或者目录的大小

语法:du [选项]  [目录/文件]

案例:

du -sh /  ##统计根目录总大小

du -sh /*  ##统计根目录的子目录的总大小

du -sh /etc/redhat-release   ##统计单个文件大小





3)文件内容的查看:cat,more/less,head/tail,grep,wc

cat查看或者连接小文件

语法:cat 文件1 文件2

案例:

cat  /etc/hosts   ##查看小文件/etc/hosts

cat  /etc/hosts  /etc/resolv.conf  ##连接多个小文件并显示

cat  /etc/hosts.allow  > /root/acl.txt  ##将文件内容输入到目标文件

cat  <<END >>/root/nfile.txt   ##在shell脚步新建文件或者添加内容到nfile.txt中

文件内容

END


more/less查看大文件,支持分页查看。

语法:more/less  文件

技巧:ctrl+f,ctrl+b进行翻页,q推出

more  /var/log/messages  ##分页查看日志文件

less  /var/log/messages  ##同上



head查看文件头部

语法:head  [-行数]  文件

head和tail默认查看文件的10行内容。

tail查看文件的尾部

语法:tail  [-行数]  文件

案例:

cat  /etc/passwd  ##查看系统账号文件

head -1 /etc/passwd  ##查看第一行

useradd u01  ##创建u01用户

tail -1  /etc/passwd  ##查看最后一行

head /etc/passwd |wc -l  ##统计结果为10

tail  -f  /var/log/messages  ##日志文件messages的跟踪,以便于排错


grep根据关键字检索文件

语法:grep [选项] 关键字  被检索的文件

案例:

grep  u01  /etc/passwd  ##查找u01是否在/etc/passwd文件中

cat  /proc/meminfo |grep -i  total  ##-i忽略大小写的方式检索内存总大小信息

cat  /etc/hosts.deny  |grep -v  "^#" |grep -v "^$"  ##-v取反方式检索,^#表示注释,^$表示空行

grep u01  /etc/*   ##检索u01所在文件及所在该文件的哪一行,文件名称与内容用户“:”分割


wc字数统计

语法:wc [选项]  文件

案例:

wc -l  /etc/resolv.conf  ##统计文件的行数

wc -w  /etc/resolv.conf  ##统计文件的单词数

cat  /etc/passwd  |wc -l  ##统计系统中账号的总数,一行是一个账号,总行数即是总账号数


2.文件的增加:mkdir、touch、ln、cp

1)目录创建:mkdir

语法:mkdir [-p]  目录

案例:

mkdir /test  ##使用绝对路径创建

mkdir test   ##使用相对路径创建,等于/当前目录/test

mkdir /t1/t2/t3  ##无法创建,加选项-p即可创建。


2)创建空文件:touch

语法:touch  文件名称

案例:

mkdir test

cd  test

touch a.txt  ##创建单个文件

touch  {1..10}.mp3  ##创建10个文件,以数字命名,后缀是mp3

touch  {a..z}-{1..10}.{mp4,txt,avi}   ##创建多个文件,以单个字母-单个数字命名,后缀分别是mp4,txt,avi等。

rm -rf ./*  ##删除创建的文件


3)创建链接文件:ln

语法:ln [-s]  被链接的文件  新链接文件

链接分为:软件链接和硬链接,软件链接创建时使用选项-s即可,软件被链接文件删除,则链接文件失效,硬链接的被链接文件可以被删除。

案例:

ln  -s  /etc/resolv.conf  /root/dns  ##为常访问的文件创建链接


4)复制:cp

语法:cp  [选项]  源文件  目的文件/目录

常用选项:-rf,源文件可以是多个,这时目的必须是目录;

案例:

cp  /etc/resolv.conf  /root  ##复制文件到目录

cp  /etc/resolv.conf  /root/dns  ##复制并重命名文件

cp -rf  /etc/  /tmp   ##复制目录时必须加-rf选项,且目的必须是目录


3.文件的删和改:rm、mv、vi/vim

1)删除文件或目录:rm

语法:rm  [选项]  文件/目录

案例:

cp  /etc/resolv.conf  /tmp

rm  -rf /tmp/resolv.conf  ##删除单个文件

cp -rf /etc/  /tmp

ls /tmp

rm -rf /tmp/*  ##清空/tmp目录

注意在删除认真确认,避免误删。


2)移动:mv

语法:mv  源文件 目标文件或者是目录

源文件与目标文件如果在同一个目录相当于改名,不在同一个目录是移动。

案例:

touch 1.file

mv  1.file  123  ##改名

mv  123  /tmp    ##剪切文件到/tmp目录


3)文本编辑器:vi/vim

vi/vim编辑或者新建文件

a.vi的基本用法:

一分学会vi流程:vi  文件-->i-->输入内容-->按ESC键-->:wq

案例:新建ip.txt,内容为10.10.10.128

b.vi补充内容

:% g/^$/d  ##删除空行

:% g/^#/d  ##删除#开始的行

:!ip  a   ##在vi中执行命令

ctrl+r  ##重做,与u撤销相反



4.tar备份系统:gzip,bzip2,xz,tar

gzip/bzip2/xz压缩工具

语法:gzip  [-9/-d]  文件   ##其他相同

案例:

touch  123.txt

gzip 123.txt  ##123.txt消失,生产123.txt.gz文件;bzip2,xz相同

gzip -d  123.txt.gz  ##解压


tar归档,并调用gzip、bzip2、xz等压缩工具进行压缩。

语法:

备份:

tar  -zcvf  文件名称-日期.tar.gz  备份的目录或文件  ##调用gzip

tar  -jcvf  文件名称-日期.tar.bzp2  备份的目录或文件  ##调用bzip2

tar  -Jcvf  文件名称-日期.tar.xz  备份的目录或文件  ##调用xz

恢复:解压缩

tar -zxvf  文件名称-日期.tar.gz  -C  释放的目录  ##其他格式相同

查看压缩包中的内容:

tar  -ztvf  文件名称-日期.tar.gz   ##不解压查看,其他格式相同

案例:

备份/etc和/boot

tar -zcvf /opt/etc-boot-$(date +%F).tar.gz  ##将z换为j生bz2格式的文件

tar -xcvf /opt/etc-boot-$(date +%F).tar.xz

解压缩恢复:

tar -zxvf /opt/etc-boot-*.tar.gz -C /tmp  ##同理替换z为j或者J可以对bz2、xz格式的文件进行解压

查看:

tar  -ztvf  /opt/etc-boot-*tar.gz  ##不解压只查看内容,同理操作xz、bz2格式的文件