码迷,mamicode.com
首页 > 其他好文 > 详细

文件基础命令

时间:2021-06-24 17:36:48      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:proc   config   修改   ram   创建时间   mkdir   lin   文件目录   展示   

文件基础命令

系统目录

windows是多根目录

Linux是单根目录

ls

[root@localhost ~]# ls /    查看 当前文件夹下的文件目录
a  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@localhost ~]# ls -l /
总用量 20
drwxr-xr-x.   4 root root   64 6月  23 10:42 a
lrwxrwxrwx.   1 root root    7 6月  22 01:02 bin -> usr/bin  # 普通用户使用的命令
dr-xr-xr-x.   5 root root 4096 6月  22 04:59 boot            # 启动文件
drwxr-xr-x   19 root root 3100 6月  23 14:30 dev            # 设备目录文件
drwxr-xr-x.  88 root root 8192 6月  23 14:30 etc            # 配置文件
drwxr-xr-x.   5 root root   39 6月  22 14:41 home            # 普通用户目录
lrwxrwxrwx.   1 root root    7 6月  22 01:02 lib -> usr/lib     # 库文件
lrwxrwxrwx.   1 root root    9 6月  22 01:02 lib64 -> usr/lib64 # 库文件
drwxr-xr-x.   2 root root    6 4月  11 2018 media
drwxr-xr-x.   2 root root    6 4月  11 2018 mnt
drwxr-xr-x.   3 root root   16 6月  22 04:57 opt
dr-xr-xr-x  118 root root    0 6月  23 14:30 proc
dr-xr-x---.   4 root root  192 6月  23 11:08 root           # root用户
drwxr-xr-x   29 root root  840 6月  23 14:30 run
lrwxrwxrwx.   1 root root    8 6月  22 01:02 sbin -> usr/sbin # 管理员使用的命令
drwxr-xr-x.   2 root root    6 4月  11 2018 srv
dr-xr-xr-x   13 root root    0 6月  23 14:30 sys
drwxrwxrwt.  24 root root 4096 6月  23 14:30 tmp             # 存放临时文件,会过段时间删掉
drwxr-xr-x.  13 root root  155 6月  22 01:02 usr             # 系统文件 相当于 c:\windows
drwxr-xr-x.  20 root root  282 6月  22 04:57 var             # 存放一些可变的文件,,数据库,日志文件
[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root 1756 6月  22 01:16 anaconda-ks.cfg
-rw-r--r--. 1 root root   19 6月  22 10:54 a.sh
[root@localhost ~]# 

‘‘‘
/tmp   系统的临时文件,系统会定时删除改目录下长时间没有访问的文件

/etc/sysconfig/network-script/ifcfg-*,网络配置文件
/etc/hostname,系统主机名配置文件
/etc/resolv.conf,dns客户端配置文件
/etc/hosts,本地域名解析配置文件
/etc/fstab    系统挂载目录 开机自启动挂载列表
/etc/passwd  系统用户文件
‘‘‘

更改主机名的两种方法:
   1.修改系统主机的配置文件
   2.hostnamectl set-hostname 主机名


ls             # 默认浏览当前目录
ls -l 目录      # 浏览目录下的子目录文件名的详细信息
ls -al 目录     # 浏览的结果中包含隐藏文件
ls -dl 目录     # 查看目录

[root@localhost ~]# ll /boot
总用量 98896
-rw-r--r--. 1 root root   153591 10月 20 2020 config-3.10.0-1160.el7.x86_64
drwxr-xr-x. 3 root root       17 6月  22 01:02 efi
drwxr-xr-x. 2 root root       27 6月  22 01:04 grub
drwx------. 5 root root      113 6月  22 10:15 grub2
-rw-------. 1 root root 62500154 6月  22 01:11 initramfs-0-rescue-39e1259751d9445c8bb1864ed271e37e.img
-rw-------. 1 root root 21129085 6月  22 04:59 initramfs-3.10.0-1160.el7.x86_64.img
-rw-r--r--. 1 root root   320648 10月 20 2020 symvers-3.10.0-1160.el7.x86_64.gz
-rw-------. 1 root root  3616707 10月 20 2020 System.map-3.10.0-1160.el7.x86_64
-rwxr-xr-x. 1 root root  6769256 6月  22 01:11 vmlinuz-0-rescue-39e1259751d9445c8bb1864ed271e37e
-rwxr-xr-x. 1 root root  6769256 10月 20 2020 vmlinuz-3.10.0-1160.el7.x86_64
[root@localhost ~]# 

"""
各部分的解析
   权限第一个代表文件类型
       -   普通文本
       d   目录文件
       b   设备文件
       c   设备文件
       s   套接字文件
       p   管道文件
       l   连接文件
   rwxr-xr-x.    代表权限,后面的点代表在selinux开启的情况下创建的文件
   1             硬链接数
   root          属主
   root          属组
   0             文件大小,单位字节
   10月 20 2020  文件的创建时间
   efi           文件名
"""

pwd和cd

[root@localhost ~]# pwd
/root
pwd查看当前目录

cd 绝对路径/相对路径
cd -  返回上次目录
cd    相当于cd ~
cd .. 返回上一级目录

文件的创建

创建文件
[root@localhost ~]# touch /home/lyh/a.txt             无则创建,有则修改时间
[root@localhost ~]# touch /home/lyh/{1..4}.txt        创建 1.txt  2.txt  3.txt  4.txt
[root@localhost ~]# touch /home/lyh/{q,w,e}.txt       创建 a.txt  e.txt  q.txt  w.txt
[root@localhost ~]# ls /home/lyh/
1.txt  2.txt  3.txt  4.txt  a.txt  e.txt  q.txt  w.txt
[root@localhost ~]# 

创建文件夹
[root@localhost ~]# mkdir /home/lyh/a                   在/home/lyh/下创建a文件夹
[root@localhost ~]# mkdir /home/lyh/b /home/lyh/c       在/home/lyh/下分别创建 b文件夹和c文件夹
[root@localhost ~]# mkdir -v /home/lyh/{1..3}           在/home/lyh/下创建1,2,3文件夹,因为这里用的-v是快捷方式,所以下面会有一个交互的消息
mkdir: 已创建目录 "/home/lyh/1"                            
mkdir: 已创建目录 "/home/lyh/2"
mkdir: 已创建目录 "/home/lyh/3"
[root@localhost ~]# mkdir -v /home/lyh/{q,w}           在/home/lyh/下创建q,w两个文件夹    
mkdir: 已创建目录 "/home/lyh/q"
mkdir: 已创建目录 "/home/lyh/w"
[root@localhost ~]# mkdir -p /home/lyh/mmm/nnn/aaa     递归创建,因为/home/lyh/下没有mmm这个文件夹,所以这里用递归,连同aaa的父即目录一起创建
[root@localhost ~]# \mkdir /home/lyh/asd               在命令前面加一个\,让命令按照最原始的方式运行
[root@localhost ~]# tree /home/lyh/                    查看文件目录的树状结构
/home/lyh/
├── 1
├── 2
├── 3
├── a
├── asd
├── b
├── c
├── mmm
│   └── nnn
│       └── aaa
├── q
└── w

12 directories, 0 files
[root@localhost ~]# 

查看目录树
tree -a 目录      #显示所有文件,包括隐藏文件(以.开头的是隐藏文件)
tree -d 目录      #只显示子目录
tree -L 1 目录    # -L 遍历目录的最大层数,-L后面就是你要遍历的层数
tree -F 目录      # -F 在条目录后加上文件类型的指定符号
tree--help        # 查看帮助

文件的删除

rm -rf 目录  记住这一个就行,,万物可删,,如果要删文件下下的东西,在目录后面加一个*,但是一般不要轻易执行这个,因为这个是直接删,如果不要的文件可以放到temp文件夹中,这个文件夹一段时间清理一次。重要事情说三遍,,这条命令不要随便你执行。

文件的复制

cp  源路径  目标路径

[root@localhost ~]# cp /etc/passwd /home/ 
[root@localhost ~]# ls /home/
asd  lyh  passwd  qwe
[root@localhost ~]# 
[root@localhost ~]# cp -v /etc/passwd /home/   这个是展示了一个拷贝的详细过程
cp:是否覆盖"/home/passwd"? y
"/etc/passwd" -> "/home/passwd"
[root@localhost ~]# touch /home/lyh/aa/1.txt
[root@localhost ~]# cp /home/lyh/aa/1.txt /home/qwe/
[root@localhost ~]# ls /home/qwe/
1.txt
‘‘‘
拷贝呢这里只能只能拷贝文件,,不能拷贝文件夹
‘‘‘

cp-r  源路径  目标路径
[root@localhost etc]# cp -r /home/lyh/aa/ /home/qwe/    递归拷贝,从父级目录到要拷贝的那一层
[root@localhost etc]# ls /home/qwe/
1.txt  aa
[root@localhost etc]# 

‘‘‘
root用户使用cp,这其实是一个别名,会显示提示信息,如果不想显示提示信息,在命令前面加个\, 
-f 是强制命令,
‘‘‘

文件的移动

mv 源目录 目标目录

[root@localhost etc]# mkdir /home/lyh/aaa
[root@localhost etc]# mkdir /home/qwe/bbb
[root@localhost etc]# mv /home/lyh/aaa/ /home/qwe/bbb/   # 文件夹移动,文件的移动也是一样的
[root@localhost etc]# ls /home/qwe/bbb/
aaa

-r 递归
-f 强制
-v 详细过程
[root@localhost etc]# touch /home/lyh/{1..3}.txt
[root@localhost etc]# mv /home/lyh/* /home/qwe/bbb/    # 移动这个文件夹下面的 1.txt  2.txt  3.txt
[root@localhost etc]# ls /home/qwe/bbb/
1.txt  2.txt  3.txt  aaa
[root@localhost etc]# 


‘‘‘
文件移动后,源文件就没有了,,文件复制后,源文件还是存在的
‘‘‘

查看文件内容

文本文件
=====>cat
[root@localhost etc]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ba23abb3-a975-41c3-9d8d-0154e7a61579
DEVICE=ens33
ONBOOT=yes
[root@localhost etc]# 

=====>less
=====>more
[root@localhost etc]# more /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes                       # 使用more命令之后,每次在屏幕上显示一屏(一页)的文件内容,并且在屏幕的尾部将会出现“—More--(n%)”的信息,其中,n%是已经显示文件内容的百分比。按空格下一页,按b上一页,more +40 a.txt从第40行开始查看
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ba23abb3-a975-41c3-9d8d-0154e7a61579
DEVICE=ens33
ONBOOT=yes
[root@localhost etc]# 

=====>head
[root@localhost etc]# head -3 /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none            # head -n 表示打印出前面三行,默认是10
BROWSER_ONLY=no
[root@localhost etc]# 
=====>tail
[root@localhost etc]# tail -3 /etc/sysconfig/network-scripts/ifcfg-ens33 
UUID=ba23abb3-a975-41c3-9d8d-0154e7a61579
DEVICE=ens33                  #tail -n 表示打印屁股后面三行,默认是10
ONBOOT=yes
[root@localhost etc]# 

[root@localhost etc]# tail -3 /etc/sysconfig/network-scripts/ifcfg-ens33 
UUID=ba23abb3-a975-41c3-9d8d-0154e7a61579
DEVICE=ens33
ONBOOT=yes                   #tail与head联合使用
[root@localhost etc]# 

tail -f 可以用来动态检测日志
=====>grep
[root@localhost etc]# grep ‘IPV6‘ /etc/sysconfig/network-scripts/ifcfg-ens33 
IPV6INIT=yes
IPV6_AUTOCONF=yes                      #过滤
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
[root@localhost etc]# 

修改文件内容

vim 时一款编辑器

命令模式:
   在这个模式中可以执行修改,复制,移动,粘贴,删除
编辑/插入模式:插入a,i,o
   a: 进入插入模式并在光标之后进行添加
   i:进入插入模式,并在光标之前进行插入
   o:进入插入模式,并在当前(光标所在位置)开启新的一行
   ctrl+v: 进入可视块模式
   R: 进入替换模式
    
在vi编辑器中光标的移动
   $   光标移动到当前行的结尾
   0   光标移动到当前行的开始
在命令模式下的删除与复制操作
   dd  删除光标所在一行
   ndd 删除光标所在向下n行
   yy  复制光标所在一行
   nyy 复制光标所在向下n行
粘贴命令
   p         将已复制的数据在光标下一行粘贴
   P(大写)   将已复制的数据在光标上一行粘贴
复原和重做命令
   U     复原前一个操作
   ctrl + r 重做上一次操作
保存退出
   :w  保存
   :q  退出
   :q! 强制退出
   :wq 保存退出
光标中快速移动
   G:  光标移动到这个文件的最后一行
  nG:  光标移动到这个文件的第n行
  gg:  移动到这个文件的第一行

文件基础命令

标签:proc   config   修改   ram   创建时间   mkdir   lin   文件目录   展示   

原文地址:https://www.cnblogs.com/lyh-cur/p/14923991.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!