Linux文件和目录操作

Linux文件和目录操作

  • 一、基本shell操作
    • 1.1 常用Linux快捷键
    • 1.2 提示和命令补齐
    • 1.3 常用Linux命令
  • 二、文件和目录操作相关命令
    • 2.1 文件和目录操作
      • 2.1.1 文件或目录查看
      • 2.1.2 目录跳转
      • 2.1.3 文件或目录创建
      • 2.1.4 文件或目录删除
      • 2.1.5 文件或目录拷贝
      • 2.1.6 文件或目录移动、重命名
    • 2.2 Linux系统目录结构
    • 2.3 用户目录
    • 2.4 文件或目录颜色一般情况
    • 2.5 软链接与硬链接
    • 2.6 文件和目录属性命令
    • 2.7 文件权限、用户、用户组相关命令
      • 2.7.1 文件与目录权限
      • 2.7.2 修改文件权限
      • 2.7.3 修改所有者和所属组
      • 2.7.4 查看当前用户
    • 2.8 查找与检索相关命令
      • 2.8.1 按文件属性查找
      • 2.8.2 按文件内容检索
  • 三、 软件安装与卸载
    • 3.1 在线安装
    • 3.2 deb包安装
    • 3.3 源码安装
  • 四、 磁盘管理
    • 4.1 挂载与卸载
    • 4.2 磁盘命名
  • 五、 打包和压缩
    • 5.1 基础版
    • 5.2 进阶版
  • 参考

一、基本shell操作

1.1 常用Linux快捷键

快捷键 说明
Ctrl + p/n 上一个命令/下一个命令,等效于键盘的↑↓
Ctrl + b/f 光标向前/后
Ctrl + a/e 光标移动到行头/尾
Ctrl + h/d 删除光标前/后字符
Ctrl + u 删除光标前所有字符
Shift+ PageUp 上翻页
Shift+ PageDown 下翻页
Ctrl + Alt + t lUbantu,创建终端
Ctrl + Shift + t 添加新标签页

1.2 提示和命令补齐

Tab补齐,按下一次补齐(命令或目录),按下两次提示(命令或目录)

1.3 常用Linux命令

命令 说明
history 查看操作历史
clear 清除终端信息
pwd 查看当前目录
which 查看命令的目录
man man 查看手册,九个章节,分别为1.可执行行程序或shell命令;2.系统调用(内核提供的函数);3.库调用(程序库中提供的函数);4.特殊文件(通常位于/dev);5.文件格式和规范(如/etc/passwd);6.游戏;7.杂项;8.系统管理命令;9.内核例程
alias 查看命令别名,设置,例:alias pag='ps aux
echo 在显示器上显示数据,普通数据:echo 字符串,显示环境变量:echo $PATH,显示上一次程序退出值:echo $?( $:取值,?:最近一次程序退出时的返回值)
poweroff 关机
reboot 重启
shutdown 关机,-t:秒,设定在切换至不同的runlevle之前,警告和删除两信号之间的延迟时间;-k:仅送出警告信息,但不关机;-r:shutdown之后重新开机;-h:shutdown命令之后关机;-n:不经过init,由shutdown指令本身做关机动作;-f:重新开机时,跳过fsck命令,不检查档案系统;-F:重新开机时,强迫做fsck检查;-c:将已经正在shutdown的动作取消

二、文件和目录操作相关命令

2.1 文件和目录操作

2.1.1 文件或目录查看

查看目录:

  • ls:查看所有目录,-l详细信息(详细信息说明请看这里:Linux命令ls -l详细信息说明),-a展示隐藏文件
  • tree:以树状结构展示目录
  • pwd:查看当前目录
    Linux文件和目录操作_第1张图片
    查看文件内容:
  • cat fileName:将文件内容一次性输出到终端,如果文件太长,无法在终端全部显示
  • more fileName:文件内容分页显示到终端,只能一直向下浏览,不能退回,enter下一行,backspace下一页,ctrl+c或q退出
  • less fileName:文件内容分页显示到终端,可以自由上下浏览,enter下一行,backspace下一页,ctrl+c或q退出,ctrl+p或↑滚动到上一行,ctrl+n或↓滚动到下一行
  • head -x fileName:x为行,从文件头开始查看前x行的内容,如果没有指定行数,默认显示前10行内容
  • tail -x fileName:x为行,从文件尾开始查看后x行的内容,如果没有指定行数,默认显示后10行内容

2.1.2 目录跳转

跳转:cd
跳转邻近目录:cd -
返回家目录(三种):

  • cd /home/User
  • cd ~
  • cd

2.1.3 文件或目录创建

  • 创建一个目录:mkdir dirName
  • 创建一套目录:mkdir dirName1/dirName2/dirName3 -p
  • 创建一个文件:touch fileName(文档末添加写入一行echo “content” >> word.txt,>为全替代文档内容)

2.1.4 文件或目录删除

  • 删除一个空目录:rmdir dirName
  • 删除一个非空目录:rm -r dirName(递归删除,-i可以进行询问)
  • 删除一个文件:rm fileName

2.1.5 文件或目录拷贝

  • 拷贝一个文件:cp fileName1 fileName2(fileName1拷贝到fileName2,fileName2不存在时自动创建)
  • 拷贝一个文件到指定路径:cp fileName path
  • 拷贝一个目录:cp dirName1 dirName2 -r(fileName2不存在时自动创建)
  • 拷贝一个目录到指定路径:cp dirName path -r

2.1.6 文件或目录移动、重命名

重命名:

  • 文件重命名:mv fileName newFileName
  • 目录重命名:mv dirName newDirName
    移动:
  • 移动一个文件到指定目录:mv fileName path
  • 移动一个目录到指定目录:mv dirName path

2.2 Linux系统目录结构

ls /查看Linux系统目录
在这里插入图片描述
系统目录树状结构
Linux文件和目录操作_第2张图片
必须掌握的系统目录及说明

目录 说明
/bin Binary的缩写, 这个目录存放着最经常使用的命令
/dev Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
/etc 用来存放所有的系统管理所需要的配置文件和子目录
/home 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/lib 存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了
/root 为系统管理员,也称作超级权限者的用户主目录
/usr 非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

其他目录说明:

  • /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  • /srv: 该目录存放一些服务启动之后需要提取的数据。
  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
    sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr/bin:系统用户使用的应用程序。
  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

2.3 用户目录

路径:

  • 绝对路径:从根目录开始到当前目录的完整路径为最对路径
  • 相对路径:使用目录符号代表当前位置的路径为相对路径,.代表当前目录,…代表当前目录的上一级目录,-代表相邻目录(cd -,进入到相邻目录)

User@root:~$目录说明:

  • User:当前登录用户
  • @:at在
  • root:主机名
  • ~:表示用户的家目录(宿主目录)
  • $:当前用户为普通用户(#:当前用户为超级用户),进入超级目录:sudo su,离开超级目录:exit
    Linux文件和目录操作_第3张图片

2.4 文件或目录颜色一般情况

Linux文件和目录操作_第4张图片

2.5 软链接与硬链接

关于软链接与硬链接的说明请查看这里:Linux命令ls -l详细信息说明
创建:

  • 软链接:ln -s path/fileName fileName.soft(path/fileName表示绝对路径下的文件名,这样使得软链接在所有路径下均有效,否则为相对路径,只在创建的目录下有效,fileName.soft为创建的软链接名,加上.soft是方便区分)
    指定路径下创建时为ln -s path/fileName path/fileName.soft,此时软链接具有读写执行权限,更改软链接,原文件改变
    Linux文件和目录操作_第5张图片
  • 硬链接:ln path/fileName fileName.hard
    指定路径下创建时为ln path/fileName path/fileName.hard

2.6 文件和目录属性命令

  • wc:wc fileName,查看文件行数,字数,字节数,参数-l为只显行数,-w只显示字数,-c只显示字节数
  • od:od fileName -t*,查看二进制文件信息,参数-t指定数据的显示格式(c为ASCII字符;d为有符号十进制数;f为浮点数;o为八进制数;u为无符号十进制数;x为十六进制数)
  • du:du -h,disk use,查看某个目录的大小,加-h方便查看
  • df:df -hj,disk free,查看磁盘的使用情况,加-h方便查看
    Linux文件和目录操作_第6张图片

2.7 文件权限、用户、用户组相关命令

2.7.1 文件与目录权限

使用ls -l查看,关于详细内容的权限说明请查看这里:Linux命令ls -l详细信息说明
Linux文件和目录操作_第7张图片

2.7.2 修改文件权限

  • 文字设定法:chmod [who] [+|-|=] [mode] fileName/dirName
    who:u为文件所有者;g为文件所属组;o为其他人;a为所有的人(不写,默认,可能会出错)
    +/-/=:+为添加权限;-为减少权限;=为覆盖原来的权限
    mode:r为读;w为写;x为执行
  • 数字设定法: chmod nnn fileName/dirName(n为数字,0为-)
    -:没有权限
    r:4
    w:2
    x:1
    rx:5
    rw:6
    rwx:7
    Linux文件和目录操作_第8张图片

2.7.3 修改所有者和所属组

  • 改变所有者: sudo chown ownName fileName/dirName
  • 改变所属组:sudo chown ownName:ownGroup fileName/dirName
    或sudo chgrp ownGroup fileName/dirName
    Linux文件和目录操作_第9张图片

2.7.4 查看当前用户

whoami

2.8 查找与检索相关命令

2.8.1 按文件属性查找

  • 文件名:sudo find path -name “fileName”,文件名中通配符*省略后面字符,?省略一个字符
  • 文件大小:sudo find path -size [+|-]fileSize,+代表大于,-代表小于,大小单位使用k,M
  • 文件类型:sudo find path -type -/d/l/b/c/s/p
    Linux文件和目录操作_第10张图片

2.8.2 按文件内容检索

  • sudo grep -r “content” path
    Linux文件和目录操作_第11张图片

三、 软件安装与卸载

3.1 在线安装

  • apt-get
    安装:sudo apt-get install softwareName
    移除:sudo apt-get remove softwareName
    更新:sudo apt -get update,更新软件列表
    清理所有软件安装包:sudo apt-get clean,实际清理的是:/var/cache/apt/archives目录下的.deb文件
  • aptitude
    安装:sudo aptitude install softwareName
    重新安装:sudo aptitude reinstall softwareName
    更新:sudo aptitude update,更新软件列表
    移除:sudo aptitude remove softwareName
    显示状态:sudo aptitude show softwareName

3.2 deb包安装

  • 安装:sudo dpkg -i xxx.deb
  • 移除:sudo dpkg -r xxx

3.3 源码安装

1.解压缩源代码包
2.进入到安装目录:cd dir
3.检测文件是否确实,创建Makefile,检测编译环境:./configure
4.编译源码,生成库和可执行程序:make
5.把库和可执行程序安装到系统目录下:sudo make install
6.删除和协助软件:sudo make distclean
7.若上述安装步骤不通用,请查看附带的README文件

四、 磁盘管理

4.1 挂载与卸载

1.挂载

  • 系统默认挂载目录:/media
  • 手动挂载目录:/mnt
    挂载非/mnt目录下时,原目录内容被设备内容覆盖隐藏,当设备卸载后原目录内容恢复展示
  • 挂载方式:mount deviceName path
    检测设备名为sudo fdisk -l

2.卸载

  • 卸载时,用户不能再要卸载的目录下,否则卸载失败
  • 卸载方式:sudo umount path,一般为paht为/mnt

4.2 磁盘命名

1.磁盘设备种类

  • sd:SCSI Device,小型计算机系统接口设备
  • hd:Hard Disky,硬盘
  • fd :Floppy Disk,软盘

2.盘名

  • sda、sdb、sdc、sdd…
  • 主分区(最多允许4个):sda1、sda2、sda3、sda4;扩展分区(第一个逻辑分区从sda5开始):sda5、sda6、sda7…

五、 打包和压缩

5.1 基础版

  • gzip:.gz格式的压缩包
    压缩:gzip fileName
    解压:gunzip fileName.gz
  • bzip2:.bz2格式的压缩包
    压缩:bzip2 fileName
    解压:bunzip2 fileName.bz2
    Linux文件和目录操作_第12张图片

5.2 进阶版

1.tar
不使用z/j参数,该命令只能对文件或目录打包

  • 参数:
    c:创建
    x:释放
    v:显示提示信息
    f:指定压缩文件名字
    z:使用gzip方式压缩文件,.gz
    j:使用bzip2方式压缩文件,.bz2
  • 压缩:
    tar zcvf xxx.tar.gz fileName/dirName(fileName/dirName为要压缩的文件或目录)
    tar jcvf xxx.tar.bz2 fileName/dirNamet
  • 解压:fu
    tar zxvf fileName/dirName.tar.gz -C path(path为解压到的路径)
    tar jxvf fileName/dirName.tar.bz2 -C path
    Linux文件和目录操作_第13张图片
    2.rar
  • 压缩:rar a rarName fileName/dirName(rarName为压缩包名不需要指定后缀,因为会自动生成,fileName/dirName为要压缩的文件或目录)
  • 解压:rar x rarName path(path为解压到的路径)
    Linux文件和目录操作_第14张图片
    3.zip
  • 压缩:zip -r zipName fileName/dirName(rarName为压缩包名不需要指定后缀,因为会自动生成,fileName/dirName为要压缩的文件或目录)
  • 解压:unzip zipName.zip -d path(path为解压到的路径)
    Linux文件和目录操作_第15张图片

总结:

  • 压缩:tar/rar/zip + 参数 + 压缩包名(tar加后缀方便区分) + 要压缩的文件或目录
  • 解压:tar/rar/unzip + 参数 + 压缩包名(包括后缀) + 参数(rar没有参数) + 解压到的路径

参考

以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如要引用,请联系通知,未经允许谢绝转载。
[1]: https://blog.csdn.net/u011503970/article/details/18615537

你可能感兴趣的:(Linux,Linux)