Linux文件操作

Linux文件操作

使用命令

  • 命令格式:

    命令 [选项] [参数]
    

    [ ]表示可选的

  • 示例:

    ls -l /etc	
    

常识命令

  • ls:查看指定目录的内容,不指定目录时查看当前目录下的内容

    选项说明
    -l列表显示,会显示更多信息
    -a显示所有文件,包括隐藏文件(以.开头的文件)
    -h人性化的显示大小,如:K/M/G,,常和l连用, - lh
    • -l选项显示结果说明:
    类型及权限 | 引用数 | 用户 | 用户组 | 大小 | 月 | 日 | 年或时间 | 文件名
    
    • 文件类型:
    符号类型
    -普通文件
    d目录文件
    l链接文件
    c字符设备文件
    b块设备文件
    s套接字文件
    p管道文件
  • cd:切换工作目录

    符号说明
    .当前目录
    上一级目录
    -上次切换之前的目录
    ~当前用户的家目录
    /表示根目录
    1. 不指定目标地址时,默认切换到家目录
    2. 凡是以’/'开头的目录都是绝对目录
    3. 以’.‘或’…'开头的目录都是相对目录
  • pwd:查看当前工作目录的绝对路径

  • alias:给命令起别名,如:ll、la、l

  • unalias:取消命令别名

查看文件

  • 相关命令

    命令说明
    cat从上到下,显示文件全部内容
    tac从下到上,显示文件全部内容
    head查看开头指定行数的内容,默认10行,如:head -20 filename
    tail查看末尾指定行数的内容,默认10行,如:tail -20 filename
    nl功能同cat,但是会多显示行号
    wc统计内容:行数 | 单词数 | 字符数 | 文件名
    more一点一点查看内容
    less一点一点查看内容
  • more/less使用说明

    • 显示一屏就停止
    • q退出查看
    • enter下翻一行
    • 空格下翻一屏
    • more查看结束会自动退出,less不会自动退出
    • less可以使用上下按钮上下翻看一行,more不可以
    • 以后经常结合管道使用,如:ls /etc | more

文件及目录

  • 相关命令

    命令说明
    touch新建文件,可以一次性创建多个
    rm删除文件或目录,删除目录时需要添加’-r’选项
    cp拷贝文件或目录,拷贝目录时需要添加’-r’选项
    mv移动文件或文件
    mkdir新建目录,可以一次性创建多个
    rmdir删除目录,但是只能删除空目录
  • 使用说明:

    • -r:删除拷贝目录时需要添加,表示递归操作
    • -f:表示强制操作,没有提示信息
    • *:表示模糊匹配,如:rm *.txt,表示删除所有的txt文件
    • -p:创建目录时若需要创建中间目录,需要添加此选项

用户及用户组

  • 相关命令

    命令说明
    whoami查看当前登录的用户名
    useradd新加用户,-d指定家目录,-m创建家目录,-s指定shell解析器
    userdel删除用户,-r可以删除用户相关的目录(家目录、邮件目录)
    passwd设置指定用户密码,不指定用户时设置当前用户的密码
    su -切换用户,一定要加上’-’,加上它不但能够切换用户,而且还可以切换环境,不指定切换的用户时,默认切换到root(需要提前设置一下密码)
    以指定用户(root)身份执行命令
    visudo专门用来编辑/etc/sudoers文件的命令,需要添加相关配置才可以使用sudo执行命令,如:test ALL=(ALL:ALL) ALL。最好先修改系统默认文本编辑器(sudo update-alternatives --config editor)
    groupadd新建用户组
    groupdel删除用户组
    gpasswd向指定用户组添加/删除指定用户,如:gpasswd -a/-d user group
    groups查看指定用户的组信息
    chsh修改指定用户的shell解析器,如:sudo chsh test -s /usr/sbin/nologin(禁止登录)
    chgrp修改指定文件所属组,如:sudo chgrp test 33.py
    chown修改文件所有者[及所属组],如:sudo chown jerry[:jerry] 33.py, -R表示递归修改
  • 涉及文件

    • /etc/passwd:系统中的用户信息
    • /etc/group:系统中的用户组信息
    • /etc/shadow:系统用户的密码信息
  • 涉及名词:

    • uid:用户唯一身份标识
    • gid:用户组唯一身份标识

文件权限

  • 说明:在linux下,所有的文件都涉及权限,分为三组:所有者、所属组、其他用户

  • 权限:所有权限可以分为:可读®、可写(w)、可执行(x),-表示没有此权限

  • 原理:ls -l的结果,三个一组,刚好分为三组,对应:所有者、所属组、其他用户

  • 修改权限:chmod,格式:chmod [身份] [操作] [权限] 文件

    选项说明
    身份
    u所有者(user)
    g所属组(group)
    o其他人(other)
    操作
    +添加
    -删除
    =设置
    权限
    r
    w
    x执行
    • 示例:sudo chmod o+x 33.py,给33.py文件的其他用户添加可执行权限
  • 本质:使用一组(3位)8进制的数来表示权限, 如:0755,展开如下

    转换为二进制:0755 => 111 101 101
    对应三个身份:所有者 所属组 其他人
    每一组的权限:都包括读、写、执行,1表示拥有,0表示没有
    示例解析:所有者拥有可读可写可执行权限,所属组可读可执行,其他人可读可执行
    
  • 简化:sudo chmod 0755 33.py,递归操作需要添加’-R’选项

链接文件

  • 命令: ln

  • 作用:创建一个文件或目录的链接

  • 格式:ln [-s] 原文件 新文件

  • 查看:ls -l结果集中的第一列的第一部分就是文件类型,l就是链接

  • 硬链接与软链接

    硬链接:创建时不加-s选项创建的就是硬链接,相当于给文件多起了个名字,极少用到
    	1.不能给目录创建
    	2.不能跨文件系统
    软链接:创建时添加-s选项创建的就是软链接,相当于windows中的快捷方式,比较常用
    	1.可以给目录创建
    	2.可以跨文件系统
    

文件搜索

  • find:
    • 作用:任意文件的搜索,功能非常强大
    • 格式:find [目录] 条件
    • 选项:
	-name:指定名字,如:sudo find / -name passwd
	-maxdepth:指定最大层级深度,如:sudo find / -maxdepth 3 -name passwd
	-type:指定类型(d/l/s/p/c/b)
	-size:指定大小,单位:k/M/G,+表示大于,-表示小于,如:find . -size +5k
	-mtime/-atime/-ctime:指定修改/访问/创建时间,单位是天,+表示几天前,-表示几天内
	-mmin/-amin/-cmin:功能同上,单位是分钟
	-user:指定用户
	-group:指定组
  • whereis:
    • 作用:显示命令的详细信息, 如:whereis ls,结果如下:
	  ls: /bin/ls /usr/share/man/man1/ls.1.gz
      命令   位置     标准帮助文档
  • grep:
    • 作用:正则表达式搜索(文件内容)
    • 选项:
	  	-i:忽略大小写
	   	-n:显示行号
  • 示例:
	grep -n /bin/bash /etc/passwd		在/etc/passwd中查找包含/bin/bash的行,并显示行号
    grep -i abc 11.py					在11.py文件中忽略大小写的查找包含abc的行
    ls /bin | grep '^m'					查找/bin下以m开头的命令

压缩解压

  • zip/unzip,文件后缀zip
	  压缩:zip 123.zip *.txt
      解压:unzip 123.zip
  • gzip/gunzip,文件后缀gz
	 压缩:gzip 1.txt				# 会生成1.txt.gz,源文件删除
      解压:gunzip 1.txt.gz
      解压:gzip -d 1.txt.gz			# 功能同上
  • bzip2/zunzip2,文件后缀bz2
	 压缩:bzip2 3.txt				# 会生成3.txt.bz2
      解压:bunzip2 3.txt.bz2		# -k选项可以保留原压缩包文件
      解压:bzip2 -d 3.txt.bz2			# 功能同上
  • tar:打包解包命令,文件后缀tar
	 选项:
      	-c:创建新文件
      	-x:解包
      	-t:查看包(不解包)
      	说明:以上三个选项不能同时使用
      	-f:指定操作文件
      	-v:显示相关信息
      	-z:调用gzip/gunzip命令进行压缩解压
      	-j:调用bzip2/bunzip2命令进行压缩解压
      	-C:执行解压位置
      	--exclude:排除指定文件
      示例:
      	tar -cvf 12.tar 1.py 2.py			# 将1.txt、2.txt打包成12.tar
      	tar -tf 12.tar						# 查看包12.tar中的内容
      	tar -xvf 12.tar						# 将12.tar解包
      	tar -zcvf 12.tar.gz 12.tar			# 将12.tar文件使用gzip压缩成12.tar.gz
      	tar -jcvf 12.tar.bz2 12.tar			# 将12.tar文件使用bzip2压缩成12.tar.bz2
      	tar -zcvf 123.tar.gz *.txt --exclude 3.txt # 打包并压缩除3.txt以外的所有txt文件
      	tar -zxvf 12.tar.gz					# 可以不指定解压命令,会自动识别,z/j选项可以省略
      	tar -jxvf 12.tar.bz2
      提示:
      	.tar.gz可以简写为.tgz
      	.tar.bz2可以简写为.tbz2 或 .tbz

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值