Linux基本文件目录操作

Linux系统: “所见皆文件”

Linux系统目录:

    bin:存放二进制可执行文件

    boot:存放开机启动程序

    dev:存放设备文件: 字符设备、块设备

    home:存放普通用户

    etc:用户信息和系统配置文件 passwd、group

    lib:库文件:libc.so.6

    root:管理员宿主目录(家目录)

    usr:用户资源管理目录

Linux系统文件类型: 7/8 种

    普通文件:-   (但是查找时候用f表示普通文件)

    目录文件:d

    字符设备文件:c

    块设备文件:b

    软连接:l

    管道文件:p

    套接字:s

    未知文件。

软链接与硬链接

软连接:快捷方式

    为保证软连接可以任意搬移, 创建时务必对源文件使用 绝对路径。

硬链接:

    ln file  file.hard

    操作系统给每一个文件赋予唯一的 inode,当有相同inode的文件存在时,彼此同步。

    删除时,只将硬链接计数减一。减为0时,inode 被释放。

用户与组管理

创建用户:

    sudo adduser 新用户名       --- useradd

修改文件所属用户:

    sudo chown 新用户名 待修改文件。

    sudo chown wangwu a.c

修改文件权限: 

    第一种,文字设定法

    chmod [who] [+|-|=] [mode] filename

    chmod u+x a.c

    操作对象who可以是下述字母中的任一个或者它们的组合

    u       表示”用户(user)”,即文件或目录的所有者

    g       表示”同组(group)用户”,即与文件所有者有相同组ID的所有用户

    o       表示”其他(others)用户”

    a      表示”所有(all)用户”,它是系统默认值

    操作符号可以是:

    +   添加某个权限

    -   取消某个权限

    =   赋予给定权限并取消其他所有权限(如果有的话)

    第二种,数字设定法

    chmod 操作码 filename  直接用操作码修改文件权限

    chmod 764 a.c

    对于file2的权限

    -rw-rw-r—

    421421421

    三个组的权限都用二进制编号,比如要设置当前用户对文件的读写和执行权限,则当前用户的操作权限为4(读)+ 2(写)+ 1(执行) = 7

    用户组和其他用户的权限设置也是一样的

    对于file2的权限-rw-rw-r—

    我们设置如下:

    所有者        rwx = 7

    所有者所在组     rw = 6

    其他用户        r = 4

删除用户:

    sudo deluser 用户名

创建用户组:

    sudo addgroup 新组名

修改文件所属用户组:

    sudo chgrp 新用户组名 待修改文件。

    sudo chgrp g88 a.c

删除组:

    sudo delgroup 用户组名

使用chown 一次修改所有者和所属组:

    sudo chown 所有者:所属组  待操作文件。

find命令查找,找文件

    find 查找目录 查找深度 查找方式 类型或者名字

    -type 按文件类型搜索  d/p/s/c/b/l/ f:文件

    -name 按文件名搜索

       find ./ -name "*file*.jpg"

    *通配符,?也是通配符,但是*会都显示出来,?只显示一个

    -maxdepth 指定搜索深度。应作为第一个参数出现。

       find ./ -maxdepth 1 -name "*file*.jpg"

    -size 按文件大小搜索. 单位:k、M、G

       find /home/itcast -size +20M -size -50M

       注意有两个size参数,注意符号的位置以及单位的大小写

    -atime、mtime、ctime 天  amin、mmin、cmin 分钟。

      a最近访问,m修改属性,c修改内容的时间

    -exec:将find搜索的结果集执行某一指定命令。

       find /usr/ -name '*tmp*' -exec ls -ld {} \;

    -ok: 以交互式的方式 将find搜索的结果集执行某一指定命令

    -xargs:将find搜索的结果集执行某一指定命令。  当结果集数量过大时,可以分片映射。

       find /usr/ -name '*tmp*' | xargs ls -ld

    -print0:

       find /usr/ -name '*tmp*' -print0 | xargs  -0 ls -ld   

      解决xargs的缺陷,指定切分符号位null

      第一个print0指定结果集分隔为null,第二个print0指定xargs分隔为null

grep命令:找文件内容

    grep -r 'copy' ./ -n

       -n参数::显示行号

    ps aux | grep 'cupsd'  -- 检索进程结果集。

    ps监控后台进程工作情况,默认只显示当前可以和用户交互的进程

软件安装:

    1. 联网

    2. 更新软件资源列表到本地。 sudo apt-get update

    3. 安装 sudo apt-get install 软件名

    4. 卸载 sudo apt-get remove 软件名

    5. 使用软件包(.deb) 安装:sudo dpkg -i 安装包名。

压缩与解压

tar压缩:

    tar -zcvf 要生成的压缩包名  压缩材料。

       tar zcvf  test.tar.gz  file1 dir2   使用 gzip方式压缩。

       tar jcvf  test.tar.gz  file1 dir2   使用 bzip2方式压缩。

tar解压:

    将压缩命令中的 c --> x

       tar zxvf  test.tar.gz   使用 gzip方式解压缩。

       tar jxvf  test.tar.gz   使用 bzip2方式解压缩。

rar压缩:

    rar a -r  压缩包名(带.rar后缀) 压缩材料。

       rar a -r testrar.rar stdio.h test2.mp3

rar解压:

    unrar x 压缩包名(带.rar后缀)

zip压缩:

    zip -r 压缩包名(带.zip后缀) 压缩材料。

       zip -r testzip.zip dir stdio.h test2.mp3

zip解压:

    unzip 压缩包名(带.zip后缀)

       unzip  testzip.zip

posted @   电线杆上写代码  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示