linux---文件操作

1.文件路径定位

# /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下
/bin –> /usr/bin
/sbin –> /usr/sbin
lib -> usr/lib
lib64 -> usr/lib64

# 路径非常重要,名字一样,单不一定是一个文件

# 相对路径: 相对于当前文件,目录的路径
# 绝对路径:从根路径下开始找
	win:c d
    linxu  /
        
# .  和  ..
	. 表示当前路径
    .. 表示上一层
	
# 以后看到 . .. 都是用相对,看到 / 都是绝对
	./  相对
    ../ 相对
    

2.cd操作

cd      #切换目录,例: cd /etc
cd -    #切换回上一次所在的目录
cd ~    #切换回当前用户的家目录,注意:root和普通用户是否有所不同吗?
cd .    #代表当前目录,一般在拷贝、移动等情况下使用 cp /etc/hostname ./
cd ..   #切换回当前目录的上级目录

2.系统文件管理:创建/复制/移动/删除

2.1 文件创建

touch file     #无则创建,有则修改时间

rm -rf fil*  把fil开头的全删除

2.2 创建目录

# 目录创建命令mkdir

# 选项:-v 显示详细信息  -p 递归创建目录
mkdir dir1
mkdir /home/od/dir1 /home/od/dir2
mkdir -v /home/od/{dir3,dir4} 
mkdir -pv /home/od/dir5/dir6
mkdir -pv /home/{od/{diu,but},boy}

2.3 以树状显示目录结构命令tree

yum install -y tree     #需要下载第三方

tree 路径目录
oo
└── aa
    └── bb

2.4 cp 复制

#选项: -v:详细显示命令执行的操作 -r: 递归处理目录与子目录 -p: 保留源文件或目录的属性

cp file /tmp/file_copy
cp name /tmp/name         #不修改名称
cp file /tmp/             #不修改名称
cp -p file /tmp/file_p    #-p保持原文件或目录的属性
cp -r  /etc/ /tmp/        #复制目录需要使用-r参数, 递归复制
cp -rv /etc/hosts /etc/hostname /tmp  #拷贝多个文件至一个目录
cp -rv /etc/{hosts,hosts.bak}
cp -rv /etc/hosts{,-org}

2.5 mv移动

mv file file1             #原地移动算改名
mv file1 /tmp/            #移动文件至tmp目录
mv /tmp/file1 ./          #移动tmp目录的文件至当前目录
mv dir/ /tmp/             #移动目录至/tmp目录下

touch file{1..3}
mv file1 file2 file3 /opt/    #移动多个文件或至同一个目录

mkdir dir{1..3}
mv dir1/ dir2/ dir3/ /opt     #移动多个目录至同一个目录

2.6 rm删除

#选项:-r: 递归 -f: 强制删除 -v: 详细过程
rm  file.txt      #删除文件, 默认rm存在alias别名,rm -i所以会提醒是否删除文件
rm -f file.txt    #删除文件, 不提醒


rm -r dir/        #递归删除目录,会提示
rm -rf dir/       #强制删除目录,不提醒(慎用)


#1.rm删除示例
mkdir /home/dir10
touch /home/dir10/{file2,file3,.file4}
rm -f /home/dir10/  //不包括隐藏文件 
ls /home/dir10/ -a
. .. .file4


#2.rm删除示例2
touch file{1..10}
touch {1..10}.pdf
rm -rf file 
rm -rf .pdf

3.系统文件管理:查看文件内容

(cat less more head tail grep )

3.1 cat,tac

#------cat
cp /etc/passwd ./pass
cat pass      #正常查看文件方式
cat -n pass   #-n显示文件有多少行
cat -A pass   #查看文件的特殊符号,比如文件中存在tab键
tac pass 

cat >> 文件名 <<EOF
内容
EOF

3.2 less more

#------less、more ,查看一部分文件内容,less可以上下翻,more只能向下翻
less /etc/services    #使用光标上下翻动,空格进行翻页,q退出
more /etc/services    #使用回车上下翻动,空格进行翻页,q退出(有百分比)

3.3 head

#------head
head pass     #查看头部内容,默认前十行
head -n5 pass #查看头部5行,使用-n指定
ps aux | head -5 # 只看头部5个进程
ls -al | head -3 # 查看ls结果的头三个

3.4 tail

#------tail
tail pass  # 查看文件尾部,默认10行
tail -20 /var/log/secure  # 查看文件尾部20行
tail -f /var/log/messages #-f动态查看文件尾部的变化
tailf /var/log/messages   #查看文件尾部的变化
ps aux | tail -2

3.5 grep   --------过滤文

# /etc/passwd   存放用户的文件

#------grep过滤文件内容
grep "^root" pass     #匹配以root开头的行
grep "bash$" pass     #匹配以bash结尾的行
grep -i "ftp" pass    #忽略大小写匹配
grep  -Ei "sync$|ftp" pass    #匹配文件中包含sync结尾或ftp字符串

4.文件管理之:文件或命令查找(locate、which、whereis、find)

# 命令查找
whereis  命令名
which  命令名

# 找文件
find / -name lqz.txt # 从根路径下开始找 名字叫lqz.txt的文件

5 文件管理之:字符处理命令(wc)

# wc统计行号
#选项:-l显示文件行数 -c显示文件字节 -w显示文件单词

# wc -l /etc/fstab      #统计/etc/fstab文件有多少行
# wc -l /etc/services   #统计/etc/services 文件行号
# ls |wc -l 
#cat /etc/fstab | wc -l  #统计/etc/fstab文件有多少行

6 系统文件属性

#-rw-r--r--. 1 root root 35 7月  27 10:33 lqz.txt

# -rw-r--r--. # 第一个- 表示文件类型(一会讲),后面的rwx,表示权限,后面会说
# 1           # 硬链接次数
# root        #文件属于哪个用户
# root        # 文件属于哪个组
# 87811      #文件大小
# 7月  27 10:33 :最新修改的时间与日期
# a.jpeg      ⑨:文件或目录名称


ll -d /etc/hosts /tmp /bin/ls  /dev/sda /dev/tty1 /etc/grub2.cfg /dev/log /run/dmeventd-client
# 文件类型:
-   #普通文件(文本, 二进制, 压缩, 图片, 日志等) 
d   #目录文件
b   #设备文件(块设备)存储设备硬盘 /dev/sda1, /dev/sda2
c   #设备文件(字符设备),终端 /dev/tty1, /dev/zero
s   #套接字文件, 进程间通信(socket)
p   #管道文件
l   #链接文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值