目录

  • Linux系统目录结构
  • 文件/目录的基本操作
    • ls命令
    • cd (切换目录)
    • pwd ( 显示目前所在的目录 )
    • mkdir (创建新目录)
    • cp ( 复制文件或目录 )
    • rm ( 移除文件或目录 )
    • mv ( 移动文件与目录,或修改名称 )
  • 文件的基本属性
    • 修改文件属性
  • vim
  • 文件内容查看
    • cat 由第一行开始显示文件内容
    • tac与cat指令恰恰想法,文件内容从最后一行开始显示
    • nl 显示行号
    • more 一页一页翻动
    • less 查看文件内容
    • head 取出文件前面几行
    • tail 取出文件后面几行

Linux系统目录结构

登陆系统后,我们输入 ls / 命令后即可查看系统当前目录

树状目录结构,Linux中所有的资源都是挂在这 “ / ”目录的节点上

对于各个目录的解释如下:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以 及镜像文件。

  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin: 系统用户使用的应用程序。

  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src: 内核源代码默认的放置目录。

  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

文件/目录的基本操作

接下来我们就来看几个常见的处理目录的命令吧:

  • ls: 列出目录

  • cd:切换目录

  • pwd:显示目前的目录

  • mkdir:创建一个新的目录

  • rmdir:删除一个空的目录

  • cp: 复制文件或目录

  • rm: 移除文件或目录

  • mv: 移动文件与目录,或修改文件与目录的名称

  • 你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

ls命令

ls指令在Linux系统中也是我们最经常使用的命令
使用语法:

ls [选项] [目录或文件] 常用的选项与参数:-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

简单使用:
ls - a命令 将所有的文件连同隐藏文件一起列出来

ls -l 长数据串列出,包含文件的属性与权限等等数据

cd (切换目录)

cd是Change Directory的缩写,这是用来变换工作目录的命令

语法

cd [相对路径或绝对路径]
cd .. : #返回上一级目录(常用)
cd ~: #进入用户家目 回到当前的用户目录(常用)
cd -:返回最近访问目录
cd ./:#当前目录
pwd ( 显示目前所在的目录 )

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令

简单使用:

表示当前目录在 home目录下

mkdir (创建新目录)

如果想要创建新的目录的话,那么就使用mkdir (make directory)吧

mkdir [-mp] 目录名称

选项与参数

  • -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~

  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

简单使用:

#进入当前用户目录下
[root@doer /]# cd home#创建一个text目录,
[root@doer home]# mkdir text#使用-p参数创建多层级目录
[root@doer home]# mkdir -p text1/text2/text3
cp ( 复制文件或目录 )

语法

[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 .... directory

cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

选项与参数:

  • -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)

  • -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

  • -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

  • -r:递归持续复制,用於目录的复制行为;(常用)

  • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

  • -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

  • -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。

  • -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

  • -u:若 destination 比 source 旧才升级 destination !

简单举例

#进入home目录
[root@doer home]# cd /home
[root@doer home]# ls

# 将/home/doer.txt 复制到  /home/doerstudy/test2
[root@doer doerstudy]# cp /home/doer.txt /home/doerstudy/test2#进入test2目录
[root@doer doerstudy]# cd /home/doerstudy/test2#列出目录
[root@doer test2]# ls
doerstudy.doer.txt  doer.txt  helloJava.class  helloJava.java

rm ( 移除文件或目录 )

语法

rm [-fir] 文件或目录

选项和参数

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

  • -i :互动模式,在删除前会询问使用者是否动作

  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

简单举例

[root@doer test1]# rm myblog.war
mv ( 移动文件与目录,或修改名称 )

语法

mv [选项] 源文件或目录 目标文件或目录

选项与参数

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

简单举例

# 在mytest目录下创建file1文件
[root@doer mytest]# mkdir file1#列出mytest目录下的文件
[root@doer mytest]# ls
doer.txt  file1#将doer.txt文件mv移动到file1文件中
[root@doer mytest]# mv doer.txt file1[root@doer mytest]# ls
file1
#列出file1目录中的文件
[root@doer mytest]# ls file1
doer.txt

文件的基本属性

Linux系统是典型的多用户系统,不同的用户处于不同的地位,为了保护系统的安全性,Linux系统对于不同的用户访问同一个文件或目录的权限做了不同的规定。我们可以在Linux系统中使用ls -l指令来显示一个文件的属性以及文件的所属的用户和组,如:

实例中我们root文件的第一个属性是使用“d”表示的,“d”在Linux系统中代表该文件是一个目录文件
在Linux中第一个字符代表的是这个文件是目录,文件或者链接文件等等

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)

从左至右用0-9这些数字来表示。

第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

修改文件属性

1、chgrp:更改文件属组

chgrp [-R] 属组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性

chmod [-R] xyz 文件或目录

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r:4 读
  • w:2 写
  • x:1 更改

简单举例

#doer.txt文件的属性是rw-r--r--
-rw-r--r-- 1 root root 2018 Aug  6 18:28 doer.txt#更改文件属性
[root@doer home]# chmod 777 doer.txt#ls  可以发现文件的属性已被修改,
-rwxrwxrwx 1 root root 2018 Aug  6 18:28 doer.txt#再将修改后的文件改回原来的属性
[root@doer home]# chmod 644 doer.txt

vim

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。

vi/vim 的使用

当我们vim 文件名之后 首先会进入查看模式

进入查看模式
进入编辑模式 i(编辑的位置是在光标的位置)
进入编辑模式 o(编辑的位置是光标的下一行新行插入)
上下行切换 j /k 和上下键一样
切换文档的首位部 gg 首部 shift+g 文档尾部
删除光标所在行 dd
:w 写(修改内容)
:q 退出
:wq 修改并退出
:q! 不修改并退出

文件内容查看

Linux系统中使用以下命令来查看文件的内容

  • cat 由第一行开始显示文件内容

  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

  • nl 显示的时候,顺道输出行号!

  • more 一页一页的显示文件内容

  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

  • head 只看头几行

  • tail 只看尾巴几行

cat 由第一行开始显示文件内容

语法:

cat [选项] [文件]

常用选项

  • -n 对输出的所有行编号
tac与cat指令恰恰想法,文件内容从最后一行开始显示

语法

tac [选项][文件]
nl 显示行号

语法

nl [-bnw] 文件

简单举例

[root@doer home]# less test.txt

more 一页一页翻动

当文件内容过多的时候,我们可以使用more指令将文件一页一页反动查看
空白键 (space):代表向下翻一页;

  • Enter :代表向下翻『一行』;

  • /字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

  • :f :立刻显示出档名以及目前显示的行数;

  • q :代表立刻离开 more ,不再显示该文件内容。

  • b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用

less 查看文件内容

语法

less [参数] 文件

less指令的主要功能是不会立即把所有的文件加载到内存当中,也能进行查找,对于一些大文件有用,是进入文档的阅读模式

head 取出文件前面几行

语法

head [-n number] 文件

选项与参数:-n 后面接数字,代表显示几行的意思!

默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样

[root@doer etc]# head -n20 csh.login
tail 取出文件后面几行

语法

tail [-n number] 文件

选项与参数

  • -n :后面接数字,代表显示几行的意思
    默认情况是显示最后10行

Linux 常用指令相关推荐

  1. 【ZZ】Linux常用指令

    linux常用指令 - 个人文章 - SegmentFault 思否 https://segmentfault.com/a/1190000011068772 查看目录下有什么文件信息 ls //lis ...

  2. Linux常用指令和系统管理命令总结

    Linux常用指令: ls 显示文件或目录 ls -l 列出文件详细信息 ls -a 列出当前目录下所有文件或目录,包括隐藏的 ls -al 显示详细文件信息,包括隐藏的文件 mkdir 创建目录 m ...

  3. Linux常用指令总结二~~

    文章目录 1. crond任务调度 2. 磁盘分区 3. 磁盘情况查询 4. 网络配置 5. 进程管理 6. 服务(service)管理 7. 动态监控进程 8. 监控网络状态 9. RPM包和YUM ...

  4. linux常用指令总结一~~

    目录 1. 用户指令 2. 用户组指令 3. 文件目录类 4. 时间日期类 5. 搜索查找类指令 6. 压缩和解压类指令 7. 组管理 8. 权限 Linux常用指令总结二~~指路==> 1. ...

  5. linux常用指令(持续更新)

    linux常用指令(持续更新) 基本访问指令: 直接进入用户的home目录: cd ~ 进入上一个目录: cd - 进入当前目录的上一层目录: cd .. 进入当前目录的上两层目录: cd ../.. ...

  6. linux登录指令 pgsql_一句一例解读20条Linux常用指令,学会了你就入门了

    玩过Linux的朋友都知道,Linux是基于命令行的操作系统,学习Linux必须学习Linux的指令,但是Linux的指令群非常庞大,很多"小白"无从下手,作者根据多年授课经验,总 ...

  7. Linux常用指令<三>

    2022_2_4学习命令补全.时间日期类命令(date / cal).历史命令(history)                         区分whoami 和who am i 目录 命令补全 ...

  8. linux常用指令词典

    linux常用指令词典 最常见命令快速查找 shell的简单了解 什么是shell?? 怎么设置PATH? 基本指令 命令提示符 linux命令的组成 Linux基础命令及其常用选项 man pwd ...

  9. 【Linux常用指令2】

    目录: 前言 文件查看命令 grep(全局正则表达式打印) cat (默认从键盘读取数据) more (更多) less (重要) head tail wc sort(文本内容排序) uniq(uni ...

  10. Linux常用指令(命令)超级无敌全合集加图文说明

    Linux常用指令(命令) 指令与选项 基础指令 1.ls指令 2.pwd指令 3.cd指令 4.mkdir指令 5.touch指令 6.cp指令 7.mv指令 8.rm指令 9.vim指令 配置域名 ...

最新文章

  1. 深入理解 Cache 工作原理
  2. Useful code snippet to parse the key value pairs in URL
  3. 第01篇:C#星夜拾遗之如何开始C#学习
  4. java中calendarr,Java学习(16)--System 类/Date 类/ Calendar类
  5. 今晚直播丨 RabbitMQ原理与常见问题处理
  6. 牛客网编程题——字符串_确定两串乱序同构
  7. 敏捷外包工程系列之四:合理选择质量管理的等级(一)
  8. 2021-2025年中国再生聚酯行业市场供需与战略研究报告
  9. gvim设置字体和隐藏菜单栏工具栏
  10. 当马队遭遇狼群,阿里华为长篇竞合剧基情开幕
  11. 香槟分校计算机研究生专业,伊利诺伊大学香槟分校计算机专业排名好不好?
  12. ES6中import * as xxx from 'xxx'的作用
  13. D3.js绘制竖向组织架构图
  14. round,floor与ceil函数,abs,real与imag函数
  15. 安兔兔排行榜提取和搜索
  16. 【Qt】实现一个简易相册
  17. 快来,票字版软件电子发票的设置方式(详细流程)
  18. 项目乱弹琴 之 用户就是上帝
  19. 洛谷1967 火车运输
  20. BeanFactory和applicationContext区别

热门文章

  1. linux内核添加系统调用(详细)
  2. 第2部分 字符串算法(提高篇)--第2章 KMP算法1469:似乎在梦中见过的样子
  3. nginx-rtmp-hls 模块---大疆mavic推流hlx无法播放问题
  4. 舆情监控和应急处理方案,如何做好网络舆情监控?
  5. 2d游戏循环滚动地图中的拼接缝隙问题
  6. 挑战Man Group!顶级对冲基金的10道Python面试题
  7. php 生成vbs文件,用VBS实现PHP的md5_file函数代码
  8. 防止首网页篡改 html,网站web前端的加密方式 防止数据被篡改
  9. 为了完美的“糖葫芦”,我坚决选择git rebase
  10. Java Language——IO 机制