三.Linux基础操作之目录和文件基本操作

目录和文件基本操作

  • A.查看切换目录:
pwd显示当前完整目录
cd 切换路径:
绝对路径,以 / 为起点
相对路径,以当前路径为起点
使用一个点号“.”开头可明确表示以当前的工作目录作为起点。
使用两个点号“..”开头表示以当前目录的上一级目录(父目录)作为起点。
使用“~用户名”的形式开头表示以指定用户的宿主目录作为起点,省略用户名时默认为当前用户。
  • B.ls 显示目录和文件信息
  -l 显示完整的文件或目录信息(权限、时间、大小)
  -a 显示所有文件,包括 .  .. 和 隐藏文件
  -A 显示所有文件,包括隐藏文件,不包括  .
  -d 显示目录本身的属性,而不显示目录中的内容。
  -R 以递归的方式显示目录里的所有子目录中的所有内容
  --color 在字符模式中以颜色区分不同的文件
  ls -ld 显示当前目录的详细属性
ls -lh 以更易读的长格式显示
可以结合通配符“*”可以匹配任意多个字符“?”可以匹配任意一个字符
  • C.du 命令:统计目录及文件的空间占用情况
-a 所有文件,不仅是目录
 -h 以更人性化的方式显示统计结果 k为单位
 -s 只统计每个参数占用空间的大小
结合-sh 使用,将要统计的目录作为参数
结合-ah 使用,将当前目录作为参数,并列出该目录总共占用的空间大小

创建目录和文件

  • mkdir 创建目录

-p 一次性创建嵌套多层目录

  • touch 创建空文件夹 可同时创建多个目标文件 如果存在更新时间

  • ln 创建链接(link)文件(类似于Windows系统中的快捷方式)

创建链接文件 -ln
为文件或目录建立连接文件;类似于Windows的快捷方式
软连接(又称为符号链接)删除原始文件之后 失效,使用范围 适用于文件或目录,保存位置 与原始文件可位于不同的文件系统中
硬链接,删除原始文件之后仍旧可用,使用范围只可用于文件,保存位置必须与原始文件在同一个文件系统(如一个Linux分区)内

软链接与源文件可以位于不同的文件系统中(创建软链接,必须结合“-s”选项明确指定)
     Ln  -s  源文件  链接文件或目标位置
硬链接只可用于文件,必须与原始文件在同一个文件系统
     Ln  源文件  目标地址

复制、删除、移动目录和文件

  • cp 复制(copy)文件目录

cp 源文件目录 目标文件目录
-f 强制覆盖不提醒
-i 覆盖目标文件或目录 提醒
-p 复制时保持源文件的权限属主及时间标记属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录

  • rm 删除文件或目录(通常结合-rf使用直接删除而不提醒)

-f 强制删除不提醒
-i 删除目标文件或目录提醒
-r 删除目录时必须使用此选项 (整个目录,慎用)和-rf 一起用 千万别对根用它

  • mv 移动 文件和目录 在同一个目录中运行此命令相当于重命名操作

查找目录和文件

  • which
which  查找用户所执行的命令存放的目录(默认查到第一个于命令相符的文件后将不再查找,如果希望在所有搜索路径中查找可以添加“-a”选项)
echo  $PATH  查看用户的环境变量(which命令查找Linux命令程序并显示所在的具体位置,搜索范围主要由用户的环境变量$PATH决定)

示例:
[root@localhost ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

注意:Shell内置的命令并没有对应的程序文件,因此使用which查找内部命令时将找不到对应的程序。

  • find
    格式如下:find 【查找范围】 【查找条件表达式】
    在这里插入图片描述
按名称查找  -name  允许使用 *  ?  通配符
按文件大小查找  -size  +大于它  -小于它  k单位
按属性查找  -user
按文件类型  -type  文件f、目录d、块设备文件b、字符设备文件 c
两个条件以上 用  -a (并且) 或 -o  (或者) 连接  a=and  o=or
 例: find /boot  -size +1024k -a -name “*cnf”

目录和文件管理

  • 查看文件内容:

  • cat命令——显示并连接(Concatenate)文件的内容

    cat命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多的用于查看文件内容。
    查看第一块网卡配置文件的内容如下:
    例:cat /etc/sysconfig/network-scripts/ifcfg-ens33
    也可以同时查看多个文件的内容:同时查看文件redhat-release、version
    cat /etc/redhat-release /proc/version

  • more和less命令–分页查看文件内容

    cat命令简单的直接显示整个文件的内容,当文件内容较多时,可能只看到文件最后一部分信息。
    使用more命令查看超过一块屏的内容时将分页显示内容,并在左下角显示当前内容在整个文件中的百分比。按Enter键向下逐行滚动查看,按Space键可以向下翻一屏,按b向上翻一屏,按q键退出。
    例:分屏查看/etc/httpd/conf/httpd.conf 网站配置文件
    more /etc/httpd/conf/httpd.conf
    more命令还可以结合管道符“|”使用。

例:以下操作可以分页查看/etc/目录下扩展名为“.conf”的配置文件。
ls -lh /etc/*.conf | more
[root@localhost ~]# ls -lh /etc/*.conf | more
-rw-r--r--. 1 root root   55 8月   8 2019 /etc/asound.conf
-rw-r--r--. 1 root root  15K 8月   8 2019 /etc/autofs.conf
-rw-------. 1 root root  232 8月   8 2019 /etc/autofs_ldap_auth.
conf
-rw-r--r--. 1 root root  22K 4月  11 2018 /etc/brltty.conf
-rw-r--r--. 1 root root  676 8月   9 2019 /etc/cgconfig.conf
-rw-r--r--. 1 root root  265 7月  24 02:14 /etc/cgrules.conf
-rw-r--r--. 1 root root  131 8月   9 2019 /etc/cgsnapshot_blackl
ist.conf
-rw-r--r--. 1 root root 1.1K 8月   8 2019 /etc/chrony.conf
-rw-r--r--. 1 root root 1.2K 4月  11 2018 /etc/dleyna-server-ser
vice.conf
-rw-r--r--. 1 root root  27K 8月   9 2019 /etc/dnsmasq.conf
-rw-r--r--. 1 root root 1.3K 8月   9 2019 /etc/dracut.conf
-rw-r--r--. 1 root root  112 8月   6 2019 /etc/e2fsck.conf
-rw-r--r--. 1 root root   20 10月 31 2018 /etc/fprintd.conf
-rw-r--r--. 1 root root   38 10月 30 2018 /etc/fuse.conf
--More--

less命令和more命令不同的就是more命令在结合管道符使用的时候不能向上翻页,less可以。

  • head和tail命令——查看文件开头或末尾的内容。
    head和tail是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示末尾的一部分内容(通常用于查看日志内容,因为较新的日志记录总添加在最后),可以结合“-n”选项(n为具体的行数),若不指定默认显示十行。
例:head命令查看用户账号的前6行
head -6 /etc/passwd
例:tail命令查看系统公共日志文件/var/log/messages的最后十行(还可以配合-f 使用可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化)
tail  -f /var/log/messages

统计和检索文件内容

  • wc命令——统计文件内容中的单词数量(Word Count)行数等信息
    常用的选项有如下几个:
    -c:统计文件内容中的字节数
    -l:统计文件内容中的行数
    -w:统计文件内容中的单词个数(以空格或制表位作为分隔)
    当文件的行数、单词数或字节数有特殊意义的时候,使用wc命令可以巧妙的获得一些特殊信息。
    如查一下/etc/passwd文件的行数,因为这个文件的每一行记录对应一个用户,那么查一下他的行数就得到了操作系统中的用户账号数量。
wc  -l /etc/passwd 
例;find  /etc -name “*.conf” | wc  -l
查/etc 下共有多少扩展名为 .conf的文件,应为find显示结果也是每一行一条记录,所以再结合wc  -l 就可得出符合条件的文件数量。
[root@localhost ~]# find /etc/*.conf | wc -l
53
  • grep命令——检索、过滤文件内容

grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用条件表达式。

例如
(“^word”表示以word开头,“wordKaTeX parse error: Expected group after '^' at position 13: ”表示以word结尾,“^̲”表示空行)
基本格式:grep 【选项】 查找条件 目标文件
选项:
-i:查找内容时忽略大小写
-v:反转查找(Invert),即输出与查找条件不相符的行。
例:在账号文件/etc/passwd查找包含“ftp”字符串的行
grep “ftp” /etc/passwd

例:一些大量配置文件内容包含了空行和以#开头的注释文字,当你只需要查看有效配置信息时可过滤掉空行和以#开头的行。
grep -v “^#” /etc/yum.conf  | grep  -v  “^$”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值