1、Linux概述

1.1、什么是Linux?

Linux是─种自由和开放源码的类UNIX操作系统。

Linux英文解释为Linux is not Unix。

发音
读法不下10种: /li’nAks/(“里那克斯”或/li:naks/(“里讷克斯)或/li’nju:ks/(“里纽克斯”)…

Linux是在1991由林纳斯·托瓦兹在赫尔辛基大学上学时创立的,主要受到Minix和Unix思想的启发。

Linux内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统,并得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。

Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

1.2、Linux的发展史

百度百科: Linux发展史

1.3、Linux的发行版本

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

从技术上来说,林纳斯·托瓦兹开发的 Linux 只是一个内核。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。

在 Linux 内核的发展过程中,各种 Linux 发行版本起了巨大的作用,正是它们推动了 Linux 的应用,从而让更多的人开始关注 Linux。因此,把 Red Hat、Ubuntu、SUSE 等直接说成 Linux 其实是不确切的,它们是Linux 的发行版本,更确切地说,应该叫作“unix为核心的操作系统软件包”。
Linux 的各个发行版本使用的是同一个 Linux 内核,因此在内核层不存在什么兼容性问题,每个版本有不-样的感觉,只是在发行版本的最外层 (由发行商整合开发的应用) 才有所体现。

目前Linux 的发行版本大体有4大体系:

1.4、Linux 应用领域

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP (Linux + Apache+ MySQL+ PHP)或LNMP (Linux + Nginx+ MySQL + PHP) 组合。

目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

  • 巴西联邦政府由于支持 Linux 而世界闻名。

  • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。

  • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。

  • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。

  • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的Guadalinex。

  • 葡萄牙同样使用自己的 Linux 发布版 Caixa Magica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。

  • 法国和德国同样开始逐步采用 Linux。

1.5、Linux系统和Windows系统的区别?

Windows主要面对个人用户,主要用于日常工作以及玩游戏等娱乐方面,软件游戏丰富;而Linux主要面对开发者用户,主要用于程序开发,软件较少,对于普通用户来说,用处不大。

Linux更受开发者的青睐,由于Linux系统稳定、安全、强大,非常适合作为开发环境或实际生产环境。相反,Windows则聚焦在桌面操作系统上,适合大多数的计算机用户,能提供丰富的软件服务和简单的操作方式。事实上Linux也一直在尝试为众多的家庭用户做出改变,光是桌面环境Linux就有Gnome、Unity等风格。

GUI& CLI

2、环境安装

2.1、安装VMware Workstation

2.1.1、介绍

VMware Workstation (中文名“威睿工作站”)是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,和进行开发、测试、部署新的应用程序的最佳解决方案。VMwareWorkstation可在一部实体机器上模拟完整的网络环境,以及可便于携带的虚拟机器,其更好的灵活性与先进的技术胜过了市面上其他的虚拟计算机软件。对于企业的T开发人员和系统管理员而言,VMware在虚拟网路,实时快照,拖曳共享文件夹,支持 PXE 等方面的特点使它成为必不可少的工具。

主要通途:

目前我们使用的windows系统,如果想使用Linux有三种方案可以选择:

  • 卸载本机的Wondows安装Linux
  • 电脑装双系统
  • 通过虚拟机在windows上安装Linux

其他产品推荐: VirtualBox

2.1.2、安装


默认一步一步安装就可以。

2.2、安装CentOS7

2.2.1、安装

VMware16中安装CentOS7的详细步骤(图文): 点击查看

2.2.2、VM快照

VM的快照是记录当前虚拟机中系统的当前所有信息,记录之后进行保存。如果想恢复某一个快照,VM会直接进入某一个快照节点。
作用: 永远不怕将Linux搞坏。

2.2.2.1、创建快照方式一

拍摄快照

回到快照节点

删除快照

2.2.2.1、创建快照方式二

在导航栏菜单选择 虚拟机 -> 快照 -> 拍摄快照
图文操作同 创建快照方式一

2.2.3、VM克隆

先关闭当前系统

2.2.31、克隆虚拟机方式一


右键当前系统(也就是CentOS 7 64位这个) -> 管理 -> 克隆

直接下一步

可以直接克隆当前系统,也可以通过快照进行克隆,根据自己需要选择,然后下一步

选择创建完整克隆,然后下一步

给新克隆的虚拟机命名,选择克隆之后存放的位置,然后点完成,这样就可以创建一个相同环境的系统了

2.2.31、克隆虚拟机方式二

在导航栏菜单选择 虚拟机 -> 管理 -> 克隆
图文操作同 克隆虚拟机方式一

2.3、Linux操作系统连接工具安装

2.3.1、常用shell工具

Linux系统自带的命令界面因为字体、字号用的不太友好,所以我们都需要借助第三方连接工具去操作系统。

Xshell连接工具: 作用就是写命令的。

xFTP工具

通常连接Linux系统的基本步骤: 开虚拟机、开启系统、连接Xshell、 连接xFTP
FinalShell 界面优雅、功能强悍、整合了xshell和xftp功能,一体化视图工具。

2.3.2、shell工具安装

直接下一步下一步安装就行

2.3.3、使用FinalShell连接Linux系统

3、认识Linux系统&基本操作

3.1、Linux系统结构

linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录””,然后在此目录下再创建其他的目录。深刻理解linux树状文件目录是非常重要的,这里我给大家说明一下。
记住一句经典的话: 在Linux世界里,一切皆文件。

ls / # 查看根目录的文件信息


树状目录结构:

具体结构介绍 (记住重点的,其余可以了解)

  • /bin (/usr/bin 、 /usr/local/bin) 是Binary的缩写, 这个目录存放着最经常使用的命令
  • /sbin (/usr/sbin 、/usr/local/sbin) s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /root 该目录为系统管理员,也称作超级权限者的用户主目录
  • /etc 所有的系统管理所需要的配置文件和子目录 my.conf
  • /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
  • /opt 这是给主机外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空。/usr/local 这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序.
  • /boot 存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
  • /var 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
  • /lib 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
  • /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /proc 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息.
  • /srv service缩写,该目录存放一些服务启动之后需要提取的数据。
  • /sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs。
  • /tmp 这个目录是用来存放一些临时文件的。
  • /dev 类似于windows的设备管理器,把所有的硬件用文件的形式存储。
  • /media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 d:/myshare
  • /selinux [security-enhanced linux] 类似 360 SELinux是一种安全子系统,它能控制程序只能访问特定文件

3.2、开关机操作

3.2.1、VM开关机

启动、关机、重新启动
挂起: 不是关闭Linux,而是保存当前Linux的状态,以备下次恢复直接使用

3.2.2、Linux指令开关机

shutdown -h now # 立刻进行关机
shutdown -h 1 "hello,关机" # "hello,1 分钟后会关机了"
shutdown -r now # 现在重新启动计算机
halt # 关机,作用和上面一样
reboot # 现在重新启动计算机
sync # 把内存的数据同步到磁盘

注意细节: 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中

3.2.3、用户登录和注销

基本介绍:
登录时尽量少用root帐号登录,因为它是系统管理员,拥有最大的权限,避免操作失误。可以利用普通用户登录,登录后再用 su 用户名 命令来切换成系统管理员身份,在提示符下输入 logout 即可注销用户,不同的shell可能有所不同(logout exit)
使用细节:
logout 注销指令在图形运行级别(简单提一下: 0-6个级别)无效,在运行级别 3下有效,运行级别这个概念后面给大家介绍。

3.3、基本操作指令

ip addr # 查看本机ip地址

cd(英文全拼:change directory)指令:切换目录

cd ~ # 切换到用户家目录
cd /     # 切换到根目录(也就是root目录)
cd /xxx/ # 切换到根目录下的xxx目录(后面的/可以省略)
cd /xxx  # 切换到根目录下的xxx目录
cd /xxx/xxxx/  # 切换到根目录下的xxx目录的xxxx目录(后面的/可以省略)
cd /xxx/xxxx   # 切换到根目录下的xxx目录的xxxx目录
# 例如:
cd /opt/ # 切换到根目录下的opt目录,最后面的/可以省略
cd /opt  # 切换到根目录下的opt目录
cd /usr/local/ # 切换到根目录下的usr目录,usr目录下的local目录
cd /usr/local  # 切换到根目录下的usr目录,usr目录下的local目录
cd ..  # 切换到上级目录
cd ../ # 切换到上级目录(如果仅仅是切换到上级目录/可以省略)
cd ../xx      # 切换到上级目录的xx目录
cd ../xx/xxx  # 切换到上级目录的xx目录下的xxx目录
cd ../xx/xxx/ # 切换到上级目录的xx目录下的xxx目录,最后面的/可以省略
cd .     # 切换到当前目录
cd ./    # 切换到当前目录
cd xx    # 切换到xx目录
cd ./xx  # 切换到xx目录
cd ./xx/ # 切换到xx目录,最后面的/可以省略
cd xx/   # 切换到xx目录,如果是当前目录,前面的./可以省略,最后面的/可以省略
# 例如:
cd opt    # 切换到当前目录下的opt目录
cd ./opt  # 切换到当前目录下的opt目录
cd opt/   # 切换到当前目录下的opt目录
cd ./opt/ # 切换到当前目录下的opt目录

ls(英文全拼:list files)指令:列出目录及文件名

ls # 查看当前目录下的所有文件信息,包括文件名和目录
ls -a # 查看当前目录下的所有文件信息,包括文件和目录以及隐藏文件和隐藏目录
ls -R # 递归查看当前目录的所有文件信息
ls -l # 查看当前目录下的所有文件的详细信息(包括权限、创建日期等等),跟 ll 指令作用一样
ll # 查看当前目录下的所有文件的详细信息(包括权限、创建日期等等)
ll -a # 查看当前目录下的所有文件的详细信息(包括权限、创建日期等等),包括文件和目录以及隐藏文件和隐藏目录
ll -R # 递归查看当前目录下的所有文件的详细信息(包括权限、创建日期等等),包括文件和目录以及隐藏文件和隐藏目录
clear # 清空当前屏幕的内容(实际上并没有清理掉我们的命令,会给我们提供一个空白新区域)

4、vi & vim

所有的 Linux 系统都会内建 vi 文本编辑器,就如同window的记事本默认的功能一样,而vim 具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

4.1、vi和vim常用的三种模式

正常模式:
vi / vim 打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用[上下左右] 按键来移动光标,你可以使用删除字符删除整行 来处理档案内容,也可以使用复制粘贴来处理你的文件数据。在正常模式下可以使用快捷键。

插入模式(编辑模式):
按下i (insert),l,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可。

命令行模式:
如果是编辑模式下,按esc键退出编辑,再按 : 键就可以进入命令行模式。
在这个模式当中,可以提供给你一些相关指令,以完成读取、存盘、替换、离开 vim 、显示行号等动作。

4.2、vi和vim模式相互切换


:wq 保存并退出
:q 直接退出不保存
:q! 强制退出
Linux下,ctrl + s 锁定窗口,ctrl + q 解锁窗口

4.3、vim安装及应用

4.3.1、vim安装

vim是需要安装的!
vim的使用和vi是一致的,只不过功能比vi更强大。

yum -y install vim* # yum安装命令  -y是不提示安装确定项
vim --version # 查看vim版本,检测vim是否可用

4.3.2、vi和vim的应用

vi / vim 已存在的文件 对文件进行编辑
例如:

vi hello.java  # 用vi文本编辑器对hello.java文件进行编辑
vim heloo.java # 用vim文本编辑器对hello.java文件进行编辑

vi / vim 不存在的文件 新建一个此文件
例如:

vi hello.java  # 用vi文本编辑器新建hello.java文件
vim hello.java # 用vim文本编辑器新建hello.java文件

4.4、vi和vim快捷键

  1. yy:拷贝当前行 (快捷键在正常模式下使用)
  2. 5yy:拷贝当前行向下的5行 (快捷键在正常模式下使用)
  3. p:粘贴 (快捷键在正常模式下使用)
  4. dd:删除当前行 (快捷键在正常模式下使用)
  5. 5dd:删除当前行向下的5行 (快捷键在正常模式下使用)
  6. /:在文件中查找某个单词,回车查找,输入 n 就是查找下一个 (快捷键在命令模式下使用)
  7. :set nu:设置文件的行号 (快捷键在命令模式下使用)
  8. :set nonu:取消文件的行号 (快捷键在命令模式下使用)
  9. G:编辑某个文件,可以使用此快捷键到底文档的最末行 (快捷键在正常模式下使用)
  10. gg:编辑某个文件时,可以使用此快捷键到底文档的最首行 (快捷键在正常模式下使用)
  11. u:在一个文件中输入内容,比如:“hello”,然后又撤销这个动作 (快捷键在正常模式下使用)
  12. shift+g:编辑某个文件,并将光标移动到 20行 (快捷键在正常模式下使用)

5、用户和用户组管理

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请个账号,然后以这个账号的身份进入系统。

5.1、关于家目录

/home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~ 表示当前用户的家目录,~test 表示用户test的家目录。
例如:/home/lisi,/home/zhangsan

5.2、用户

5.2.1、添加用户

基本语法:
useradd 用户名

useradd zhangsan # 添加用户zhangsan

给用户指定登录密码:passwd 用户名
如果 没有带用户名 表示修改当前的用户密码

passwd zhangsan # 修改用户zhangsan的密码
passwd # 修改当前用户的密码

增加用户的时候,默认会给用户创建一个和用户名相同的用户家目录。当使用创建的用户登录的时候,cd ~ 默认回到自己的家目录中。

除此之外,还会在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

-d 目录:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

useradd -d /home/lisihome lisi # 创建用户lisi并指定lisi的用户家目录名称

-c “注释内容”:c是英文单词comment的缩写,指定一段注释性描述

useradd -c "这是张三的账户" zhangsan

-g 用户组:指定用户所属的用户组,这里指定的用户组是用户的主组,下面还会提到的

useradd -g yanfa lisi # 创建用户lisi并给lisi指定所属的用户组,yanfa是已有的用户组

-G 用户组:指定用户所属的附加组

useradd -G adm,root lisi # 创建用户lisi并给lisi指定所属的附加组,adm、root是已有的用户组

-s Shell文件:指定用户的登录Shell。

useradd -s /bin/sh lisi # 创建用户lisi并指定lisi的登录Shell

-u 用户号:指定用户的用户号,如果同时有-0选项,则可以重复使用其他用户的标识号

su 用户名:切换用户

su zhangsan # 切换到zhangsan目录

如果是权限低的用户切换到权限高的用户,需要输入密码。

如果是权限高的用户切换到权限低的用户,不需要密码。

5.2.2、删除用户

基本语法:
userdel 用户名 用户被删除了,但是默认会保留用户家目录
userdel -r 用户名 用户和用户家目录都会被删除

userdel zhangsan # 用户zhangsan被删了,但是zhangsan的家目录还在
userdel -r zhangsan # 用户zhangsan和zhangsan的家目录都被删除了

5.2.3、查看用户信息

基本语法:
id 用户名 查看用户信息

id zhangsan # 查看zhangsan的用户信息


cat /etc/passwd 查看当前系统所有的用户信息

cat /etc/passwd # 查看当前系统所有的用户信息

5.2.4、切换用户

在操作Linux中,如果当前用户的权限不够,可以通过 su 用户名 指令,切换到权限高的用户,比如root
基本语法:
su 用户名 切换用户名

# 例如:
su root # 切换到root用户

细节说明
从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
当需要返回到原来用户时,使用exit指令。

如果使用su 用户名指令,没有带用户名,则默认切换到root用户。

5.2.5、查看当前用户 / 登录用户

who i am # 查看当前登录的用户

who am i # 查看当前登录的用户

whoami # 查看当前登录的用户


我是用root用户登录的,然后切换到zhangsan用户,可以看到,当前用户是zhangsan,而并非是root用户

5.3、用户组

在一个系统下可能存在若干个用户,如果管理员统一为每一个用户都指定一遍权限,那是很麻烦的,随着Linux有了组的概念之后,我们可以给某个组直接指定权限,那么该组下的用户就可以直接获取当前组的权限并使用。

类似于角色,系统可以对有共性的多个用户进行统一的管理。

5.3.1、查看组信息

基本语法:
cat /etc/group 查看当前系统所有的用户组信息
如果我们创建的用户没有指定用户组的话,这些创建的用户默认自己一组(冗余信息)

5.3.2、添加用户组

基本语法:
groupadd 组名 添加用户组

groupadd yanfa # 添加用户组yanfa

useradd -g 用户组 用户名 添加用户时,直接给用户加上用户组

useradd -g yanfa wangwu # 添加用户wangwu并给其指定用户组
useradd -d /home/wwhome -g yanfa wangwu # 添加用户wangwu并给其指定用户家目录以及用户组

5.3.3、修改用户的用户组

使用语法:
usermod -g 新的组名 用户名

usermod -g yanfa zhangsan # 将用户zhangsan的用户组修改为yanfa
usermod -g yanfa lisi # 将用户lisi的用户组修改为yanfa

5.3.4、删除用户组

基本语法:
groupdel 用户组组名

groupdel yanfa

5.3.5、用户和用户组相关文件说明

用户的配置文件:/etc/passwd
用户 (user)的配置文件,记录用户的各种信息。

每行用户信息的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

  • “用户名”:代表用户账号的字符串。
  • “口令”:在一些系统中,存放着加密后的用户口令字。
  • “用户标识号”:是一个整数,系统内部用它来标识用户。
  • “组标识号”:记录的是用户所属的用户组。
  • “注释性描述”:记录用户的一些个人情况。
  • “主目录”:就是用户的起始工作目录。
  • “登录Shell”:用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。

用户组(group)的配置文件:/etc/group
用户组 (group)的配置文件,记录用户组的各种信息。

每行用户组信息的含义: 组名:口令:组标识号:组内用户列表

  • "组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
  • "口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。
  • "组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。
  • "组内用户列表"是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

6、运行级别

运行级别说明:
0:关机
1:单用户(类似安全模式, 这个模式可以帮助找回root密码)
2:多用户状态没有网络服务
3:多用户状态有网络服务(使用)
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5,要修改默认的运行级别可改文件 /etc/inittab 的 id:5:initdefault; 这一行中的数字
使用命令:== init [012356]==

init 0
init 1
...

7、帮助指令

7.2.1、man获取帮助信息

使用语法:man [命令或配置文件]
功能描述:获得命令和配置文件的帮助信息

man ls # 查看ls命令的帮助指令


按 h 获取帮助信息,按 q 退出

7.2.2、help获取帮助信息

使用语法:help 命令
功能描述:获得shell内置命令的帮助信息

help cd

8、文件和目录管理

8.1、文件目录操作

8.1.1、pwd 指令

使用语法:pwd
pwd(英文全拼:print work directory)
功能描述:显示当前工作目录的绝对路径

pwd # 显示当前工作目录的绝对路径

6.3.2、 Is 指令

上面已经说的很详细了,这里简单带过
使用语法:
ls 可选项 / 文件 / 目录
常用选项:
-a:显示当前目录所有的文件和目录,包括隐藏的(文件名以.开头就是隐藏)
-l:以列表的方式显示信息,与 l l 的功能一样。
-h : 显示文件大小时,以 k,m,G单位显示。

ls -alh # 查看当前目录的所有内容信息

6.3.3、cd指令

上面已经说的很详细了,这里简单带过
语法:cd 参数
功能描述:切换到指定目录
常用参数:
绝对路径是从 / 开始定位
相对路径是从当前的位置开始定位
cd ~ 或者 cd 空格:回到自己的用户家目录
cd … 回到当前目录的上一级目录

cd /root # 使用绝对路径切换到root目录
cd ../root #使用相对路径到/root目录
cd .. # 表示回到当前目录的上一级目录
cd ~ # 回到用户家目录

8.2、文件夹操作

8.2.1、mkdir指今

mkdir(英文全拼:make directory)指令用于创建目录
语法:mkdir [选项] 要创建的目录
常用选项:
-p:创建多级目录

mkdir aa # 创建目录aa,但是只能创建一层目录
mkdir aa/bb # 创建多级目录aa/bb

8.2.2、rmdir指令

rmdir(英文全拼:remove directory)指令用于删除空目录
语法:rmdir [选项] 要删除的空目录
使用细节:
rmdir 删除的是空目录,如果目录下有内容时,是无法删除的。
提示:如果需要删除非空目录,需要使用rm -rf 要删除的目录,-r 是删除多层级,-f 是linux的特色,所有添加 -f 都表示强制删除并不提示任何信息(也就是不需要输入“yes”或者“no”去确认)

rmdir aaa
rmdir home/dog # 删除home目录下的dog目录
rm -rf xxx # 强制删除xxx目录
rm -rf aaa/bb # 强制删除aaa目录和aaa目录下的bb目录

8.3、文件操作

8.3.1、touch指令

文件创建方式一:

touch指令创建空文件,还可以更新文件的修改时间
基本语法:touch 文件名称

touch hello.txt # 创建一个空文件hello.txt

说明:如果文件已存在,则表示刷新该文件的修改时间

第二种方式:
通过vi / vim创建文件

vi aa.txt # 创建文件aa.txt
vim bbb.txt # 创建文件bbb.txt

8.3.2、cp指令

cp(英文全称:copy 拷贝)指令作用是拷贝文件到指定目录
基本语法:
cp [选项] source(源) dest(目的文件)
常用选项:
-r:递归复制整个文件夹

cp aa.txt /tmp/ # 拷贝aa.txt文件到tmp目录下
cp /opt/a.txt /tmp/ # 拷贝opt目录下的a.txt文件到tmp目录下
cp -r /opt/aa /tmp/ # 递归复制opt目录下的整个aa文件夹到tmp目录下
cp -r /opt/bb /tmp/ # 递归复制opt目录下的整个bb文件夹到tmp目录下

使用细节:
强制覆盖不提示的指令:\cp
使用语法:
\cp source(源) dest(目的文件)

\cp /opt/aa/ /tmp/aa/ # 强制覆盖tmp目录下的aa文件夹

8.3.3、rm指令

rm(英文全拼:remove):删除文件或目录
基本语法:
rm [选项] 要删除的文件或目录
常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示

rm /home/aaa.txt # 将home目录下的aaa.txt文件删除
rm -r /home/bbb # 递归删除home目录下的整个bbb文件夹
rm -rf /home/bbb # 递归删除home目录下的整个bbb文件夹并且不提示

8.3.4、mv指令

mv指令的作用是移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFile
功能描述:重命名文件名
mv /oldFolder/moveFile /targetFolder
功能描述:移动某个文件夹下的文件或者目录到目标文件夹

mv /home/aaa.txt pig.txt # 将/home目录下的aaa.txt文件重新命名为pig.txt
mv /home/pig.txt /root # 将/home目录下的pig.txt文件移动到/root目录下

8.4、文件查看

8.4.1、cat指令

cat 查看文件内容
基本语法:
cat [选项] 要查看的文件
常用选项:
-n:显示行号

cat -n /etc/profile # 查看/ect/profile的文件内容,并显示行号

使用细节:
cat 只能浏览文件,而且不能修改文件
注意:一旦查看文件过大的话,会导致我们的Linux系统重新开机。

8.4.2、more指令

more指令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more指令中内置了若干快捷键,详见操作说明:

项目 Value
电脑 $1600
手机 $12
导管 $1
Column 1 Column 2
left-aligned 文本居中 right-aligned 文本居右

认识Linux系统以及Linux命令的使用(未完待续)相关推荐

  1. linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要

    Linux 命令个人总结====== 未完待续 man [功能说明]: 查看帮助 [语法格式]: man [123456789]命令.文件. [选项参数]: 数字"1"表示用户命令 ...

  2. VMware里的linux系统里的命令行里会有bee的声音,要如何关掉

    VMware里的linux系统里的命令行里会有bee的声音,要如何关掉 取消bell报警声的方法:登陆linux系统vi /etc/inputrc找到set bell-style none 将前面的# ...

  3. mysql隐藏密码_MySQL在Linux系统中隐藏命令行中的密码的方法

    在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?, ...

  4. 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 查看Linux系统架构的命令,查看linux系统是哪种架构:AMD.ARM.x86.x86_64.pcc 文章目录: 1 ...

  5. linux命令实验设备,实验二 Linux系统的常用命令

    实验二Linux系统的常用命令 一.实验目的 1.X-windows的简单配置,掌握进入命令行模式和图形化模式的方法2.GNOME桌面的使用,包括注销与登录,系统信息的查看,GNOME下软件的使用3. ...

  6. linux系统性能监视高级命令(12个)

    linux系统性能监视高级命令(12个)必须掌握 内存:vmstat mpstat iostat sar top free CPU: vmstat mpstat iostat sar top I/O: ...

  7. head在linux命令中什么意思,linux系统中head命令使用说明

    linux系统中head命令使用说明 head 与 tail 就像它的名字一样的'浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就 ...

  8. linux 定义快捷命令,Linux系统自定义快捷命令的详细说明

    Linux系统用户可以自定义喜欢的快捷键命令.下面由学习啦小编为大家整理了Linux系统自定义快捷键命令的详细说明,希望对大家有帮助! Linux系统自定义快捷命令的详细说明 目前总结到的有两种方式, ...

  9. linux系统fuser命令,Linux系统使用Fuser命令的方法

    fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件.目录或socket的进程. 它还提供有关拥有该进程的用户和访问类型的信息..fuser工具显示了使用指定文件或文件系统的每个进 ...

  10. find linux 目录深度_浪里淘沙,详解Linux系统中Find命令的实用技巧

    知了小巷:浪里淘沙,详解Linux系统中Find命令的实用技巧. 啊哈,找到了! 当我们需要在Linux系统上定位某个文件或目录时,find命令通常是必备之选. 它使用起来非常简单,但有许多不同的可选 ...

最新文章

  1. 运维企业专题(10)RHCS集群工具——FENCE搭建、高可用服务配置详解
  2. 谈谈AOP应用层切面设计
  3. 再谈 Java中Runnable和Thread的区别
  4. python API url 级联生成
  5. python进阶例题
  6. Mean-shift超像素分割
  7. 智能医疗二次爆发,医疗的全产业链何时打通?
  8. 微信小程序 实现路线规划
  9. PageOffice 安装使用说明
  10. GMK4045-ASEMI光伏逆变器二极管GMK4045
  11. iOS 字符串转ascii码,字符串转NSData
  12. 码题集新手村600道(前300道)
  13. 网络分流器|网络分流器|网络分流采集器的应用领域
  14. Android开发学习持续更新中
  15. WinForm如何使用WPF的控件
  16. Neural Collaborative Filtering 1
  17. Android开发本地及网络Mp3音乐播放器(五)实现专辑封面图片
  18. mysql字段类型对应java字段类型
  19. DevOps相关知识点
  20. ubuntu 17linux输入法,Ubuntu 17.10如何安装Fcitx五笔拼音输入法

热门文章

  1. 抽奖小工具的设计(2)- python
  2. STM32F407控制 无刷直流电机和永磁同步电机
  3. C语言新建文件写入数据
  4. 毕玄:我在阿里的十年技术感悟 1
  5. 如何给U盘或移动硬盘添加个性的图标? | 不着调软件
  6. 手机云盘share php,宝塔面板安装云盘目录列表TCShare – 支持和彩云/天翼云
  7. 使用百度AI实现视频的人流量统计(静态+动态)代码及效果演示
  8. 关于AutoCAD 2014的securityload…
  9. Docker 安装nigix、tomcat、es+kibana和portainer可视化
  10. semantic.css,PC端框架—semantic ui