前期必备知识
1、命令提示符
[root@jasonNB ~]# root表示⽤户名信息 @为分隔 [root@jasonNB ~]# root表示⽤户名信息 @为分隔符 jasonNB为主机名称 ~表示所处⽬录位置,默认是家⽬录
2.命令格式规范(语法规范)
- linux中的命令区分⼤⼩写
- linux命令使⽤过程中,注意空格的⽤法,简单来说就是相当于一句话,需要一个个字分开一样。
- 做一步检查一步,Linux中很多时候命令执行完毕之后没有结果 这是一个好的现象 如果出现结果就是报错了
- 在填写文件路径的时候 尽量不要自己写 使用Tab补全
- 强调:在linux系统中,尽量不要输⼊中⽂符号信息(命令⾏)
3. 系统路径信息(⽬录结构)
linux 的目录结构类似树状图,⼀切从根目录开始依次往下查找,往下产生分支。
4、路径信息查找⽅法
绝对路径:从根开始查找 /etc /etc/hosts 缺点:如果层级⽐较多的时候,利⽤绝对路径查找数据会⽐较麻烦 优点:定位查询数据的准确性更⾼ 相对路径:不从根开始进⾏查找, 相对于当前路径⽽⾔, 进⾏查找数据 优点:如果层级⽐较多的时候,利⽤相对路径查找数据会⽐较⽅便 缺点:路径信息不正确,数据⽆法有效查询到
系统运⾏命令
man 命令名称:可以查看命令的使用方式
简单系统命令
# 查看ip地址 ip a ip addr # ping网络(测试网络连通) ip 目标机器的ip # 查看系统时间 date # 注销 logout # 关机 shutdown -h 10 # 指定多少分钟后进⾏关机 shutdown -c # 取消关机⽅案 shutdown -h 0/now # ⽴即关机 # 重启 reboot # 清屏 clear
快捷方式命令
01. 显示历史输⼊命令信息 利⽤⽅向键 上 下 02. 清除所有屏幕信息输出 ctrl + l # clear 03. 中断取消命令执⾏过程 ctrl + c # cancel 取消 04. 快速移动光标到⾏⾸ ctrl + a 05. 快速移动光标到⾏尾 ctrl + e 06. 将光标所在位置到⾏⾸的信息进⾏删除(剪切) ctrl + u 将光标所在位置到⾏尾的信息进⾏删除(剪切) ctrl + k 07. 将剪切内容进⾏粘贴回来 ctrl + y 08. 锁定系统窗⼝信息状态 ctrl + s 解锁系统窗⼝信息状态 ctrl + q 09. 系统命令补全快捷⽅式(重点) tab 10. 命令⾏中快速移动光标 ctrl + ⽅向键 左 右 (按照英⽂单词进⾏移动光标)
⽬录结构相关命令
1)显示当前路径信息 pwd # print working directory显示当前所在路径 2)切换⽬录结构 cd # change directory改变⽬录信息 cd - # 快速切换路径,返回到上⼀次所在路径信息 cd .. # 快速切换路径,返回到当前路径的上⼀级⽬录中 cd ../.. # 上多级 3)快速切换路径 cd ~或cd # 返回到当前登陆⽤户的家⽬录中 4)创建⽬录结构 mkdir # make directory ps:创建多级⽬录需要加参数-p mkdir -p /oldgirl/oldbaby/heihei ''' 建议:创建⽬录时以绝对路径创建⽬录'''
文件与文件夹相关的命令
""" 执行一下吃不准的操作 可以先制作系统快照 之后可以回退 """ 强调:在linux系统中,尽量不要输⼊中⽂符号信息(命令⾏) 1)如何创建⽂件信息 touch 2)如何检查⽂件或⽬录是否存在 ls # list 显示⽂件/⽬录数据详细信息 ls -l a.txt # 可以简写ll a.txt 排序:按照⽇期查找⽂件 ls -lt a.txt ls -ltr a.txt 3)如何查看⽂件信息 cat cat oldboy.txt oldgirl.txt > olddog.txt # 整合 4)在空⽂件中⽣成数据信息 echo # 将信息进⾏输出 echo hello world # 等价于print('hello world') echo hello world > /oldgirl/oldgirl.txt # w模式 写⼊⽂件 echo baby.com >> /oldgirl/oldgirl.txt # 追加模式 写⼊ 5)对⽂件或⽬录数据信息进⾏拷⻉(复制) cp # copy 语法格式:cp 参数信息 要进⾏复制的信息 复制到什么位置 # 将/etc/hosts⽂件复制到/oldboy⽬录中 cp /etc/hosts /oldboy/ 如果不加斜杠并且oldboy没有 意思则变成复制到根并改名 # 如何复制整体⽬录数据 cp -r /etc/sysconfig/ /oldboy/oldgirl/ # 重复复制避免提示信息出现 \cp -r /etc/sysconfig/ /oldboy/oldgirl/ '''cp核⼼功能:备份数据信息''' cp oldboy.txt oldboy.txt.bak cp oldboy.txt.bak oldboy.txt 常⻅问题: 在复制⽂件时,不要在⽂件名称后⾯加上/ ⼀般只有⽬录后⾯有/ ⽂件没有存在会直接复制,如果已经存在会提示是否覆盖 cp -a -a == -d + -r + -p -d 和链接⽂件有关 -R 进⾏递归复制 -p 保持属性不变 6)对⽂件或⽬录数据信息进⾏剪切(移动) mv # move mv 参数 要移动数据信息 移动到什么位置 eg:移动/etc/selinux/config 到 /oldboy/shanghai/ 1.先验证是否有对应的⽬录 ⽆则先创建 2.确认⽆误后再剪切 mv /etc/selinux/config /oldboy/shanghai/ 3.mv操作有时⽐较危险 针对核⼼⽂件移⾛可能会出错 mv /oldboy/shanghai/config /etc/selinux/ 还可以针对单个⽂件重命名 mv hosts hosts01 7)数据的删除命令 rm # remove rm 参数 要删除的数据信息 # 删除oldboy⽬录中的hosts01⽂件 rm hosts01 # 删除⽬录操作 rm shanghai/ 报错 rm -r shanghai/ 正确 # 如何强制删除数据信息 rm -f olddog.txt 不提示 rm -rf jason 不提示 '''rm操作最好是切换到⽬标数据所在位置删除不推荐使⽤绝对路径'''
文件编辑命令(重要)
vi(系统自带的)与vim(第三方工具) # 编辑⽂件的操作步骤 第⼀个⾥程:利⽤vi命令打开⽂件 vi oldboy.txt 第⼆个⾥程:进⼊到编辑模式,开始编辑⽂件 按键盘上⼩写字⺟ i # insert 第三个⾥程:进⾏编辑 第四个⾥程:退出编辑模式 按esc进⾏退出 第五个⾥程:关闭打开的⽂件 :wq w-write q-quit 保存退出 :q! 有时候在vi编辑模式必须加感叹号不保存强制进⾏退出
编辑相关快捷方式
1.光标快速移动快捷⽅式 如何将光标快速移动到最后⼀⾏ # ⼤写字⺟ G 如何将光标快速移动到第⼀⾏ # ⼩写字⺟ gg 如何快速移动光标到中间指定⾏ # ⼩写字⺟ 10gg 如何快速移动光标到⼀⾏的⾏尾 # 符号信息 shift+$ 如何快速移动光标到⼀⾏的⾸部 # 数字信息 0 2.移动光标转为编辑状态 如何快速移动光标到下⼀⾏并进⼊编辑状态 # ⼩写字⺟ o 如何快速移动光标到⼀⾏的⾏尾并进⾏编辑 # ⼤写字⺟ A 如何快速删除光标所在位置到⼀⾏⾏尾所有信息并进⼊编辑状态 # ⼤写字⺟ C 如何清空当前⾏的所有内容信息并进⼊编辑状态 # ⼩写字⺟ cc 3.快速编辑⽂本内容信息 如何复制⽂本信息 ⼩写字⺟ yy 如何复制多⾏信息 3yy 如何粘贴⽂本信息 ⼩写字⺟ p 如何粘贴多⾏信息 3p 如何删除⽂本信息 ⼩写字⺟ dd 实际是将指定⾏信息进⾏剪切 如何删除多⾏信息 3dd 将光标所在⾏到最后⼀⾏都删除 字⺟ dG 4.特殊操作⽂本内容⽅式 如何显示⽂本⾏号信息/如何取消⾏号 :set nu/:set nonu 如何撤销编辑信息 ⼩写字⺟ u undo 如何取消撤销操作 ctrl + r redo 快速搜索⽂件信息 /待搜索内容 按n查找下⼀个匹配项 shift+n上⼀个匹配项 5.批量操作⽂本内容 批量删除操作 第⼀个步骤:移动光标到相应位置 第⼆个步骤:进⼊到批量编辑模式(视图块模式) ctrl + v 第三个步骤:选中多⾏信息 ⽅向键选中 第四个步骤:进⾏删除 ⼩写字⺟ d 或者 x(删除光标选中的内容)
yum
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。
# 列出所有可以安装的软件包 yum list # 安装软件 yum install -y 软件名 # 卸载软件 yum remove 软件名 # 查找软件包 yum search all 软件名
vim下载
yum install vim tree bash-completion -y
目录结构
在 Windows 中,我们会看到磁盘驱动器的标识,比如C:\
,E:\
,文件和目录名都跟在驱动器名后面。Linux 和 Windows 完全不同,在 Linux 中你可以在根目录下运行ls
,观察它的目录结构:
常见目录
/
- 根目录
顾名思义,根目录就是所有目录所在的目录,它是 Linux 中所有目录的根,从某种概念上讲,它有点类似于 Windows中的磁盘驱动器符号。之后将会看到,所有其他目录都是以
/
开头的。
/bin
- 存放重要的用户二进制文件目录
bin 是
binary
的缩写,/bin 目录存放了非常重要的用户二进制文件,其实就是一些程序。需要特别说明的是,/bin 中存放的都是在单用户维护模式下还能被操作的命令,这些命令可以被 root 和普通用户使用。在 / bin 中我们可以看到例如chmod
、du
这些我们经常使用的 Linux 命令程序。
/boot
- 存放系统启动时需要文件的目录
/boot
中存放的主要是系统启动时需要用到的文件,比如EFI
、GRUB
以及 Linux 内核。
/dev
- 设备文件目录
Linux 将所有东西都看成文件,设备也不例外,不论是实体的硬件设备还是虚拟设备。实体硬件比如第一块被检测到的硬盘会被挂载到
/dev/sda
,第二块会被挂载到/dev/sdb
,以此类推。虚拟设备比如null
、random
、stderr
、stdin
和stdout
。
/etc
- 配置文件目录
etc
的含义是Et cetera
,表示一些相关的其他东西,/etc 从 UNIX 早期开始就被用来存放配置文件,一直沿用至今。需要注意的是,/etc 中存放的是系统配置文件,特定用户的配置文件放在每个用户的 / home 目录下。
/home
- 用户目录
/home
目录中存放的是每个用户的用户目录,比如有一个用户叫 tom,/home/tom 就是他的用户目录,每个用户的用户目录中存放的用户数据和用户配置文件,比如每个用户的.bashrc
文件、.ssh
目录等。普通用户只能访问自己的用户目录而不能访问别人的,root 用户则没有此限制。
/lib
- 重要的共享库目录
/lib
目录中存放的是/bin
和/sbin
中那些重要的二进制文件(程序)需要的共享库。另外/usr/bin
中二进制文件(程序)需要的共享库都存放在/usr/lib
。
/lost+found
- 恢复文件目录
每个 Linux 文件系统都有 / lost+found 目录,当文件系统崩溃时,在下次启动时将会进行文件系统自检,任何在崩溃过程中损坏的文件都将被放入 / lost+found,你可以尝试找到并恢复这些文件。
当你将一些可删除媒介挂(比如 CD,U 盘,光驱等)载到计算机上时,系统会在 / media 下自动创建子目录,之后就可以通过访问这个子目录来访问媒介。比如你在电脑上插入 CD,在 / media 目录下就会自动生成一个子目录,你可以通过访问这个子目录来访问 CD 的内容。
/mnt
- 临时挂载点目录
mnt
是mount的缩写
,各种设备挂载到系统后,会在 / mnt 目录下生成相应设备的目录,比如挂载光驱、文件系统、CD 等。
/opt
- 可选包目录
opt
是Optional
的意思,系统中安装的可选软件包被存放在 / opt 目录中。
/proc
- 内核和进程文件目录
/proc
是一个虚拟目录,并不包含任何标准文件。当系统启动后,会对当前内核和硬件信息进行检测,并将这些信息放在这个目录中(其实都在内存中)。你可以使用cat /proc/meminfo
来查看关于内存的一些信息,或者使用cat /proc/version
来查看 Linux 内核信息。
/root
- root 用户的 home 目录
和一般用户的 home 目录放在
/home/{用户名}
不同,root 用户的 home 目录专门被放在/root
。
/run
- 应用程序状态目录
/run
目录用来存放应用程序在运行期间需要的一些短暂存在的文件,比如 socket 和 pid 文件,这些文件对这些应用程序的运行很重要,因此不能把他们放在 / tmp 目录下,因为 / tmp 目录下的文件有可能会被系统清空。
/sbin
- 系统管理员用的二进制文件目录
/sbin
目录和/bin
目录有些类似,都是存放二进制文件。比较特殊的是,/sbin 目录存放的都是系统管理的命令程序,一般只有 root 用户能使用。
/srv
- 服务数据目录
/srv
目录主要用来存放一些系统提供的网络服务的数据,如果你在机器上运行一个 HTTP 服务器来对外提供静态文件时,/srv/http
目录将存放这些静态文件,如果你运行一个 FTP 服务器对外提供文件,则/srv/ftp
目录将存放这些文件。
/tmp
- 临时文件目录
应用程序会将一些临时文件存放在 / tmp 目录中,一般来说当系统重启后,/tmp 下的文件会被自动清空,也会被一些监控程序清空。
/usr
- 用户二进制文件和只读文件目录
/usr
目录下存放的是用户使用的程序,可以很明显地发现,Linux 将普通用户和系统使用的程序分开存放,比如上面提到过,系统使用的一些重要程序存放在 / bin,而那些不重要的程序就被放在 / usr/bin。不太重要的系统管理程序存放在 / usr/sbin 而不是 / sbin。usr 也被称为UNIX Software Resource
,这是比较早期的说法。下面是 / usr 目录下常见的几个子目录的含义:
- /usr/bin 存放用户命令
- /usr/include 存放编程语言的头文件和包含文件
- /usr/lib 存放各个应用程序的库函数和目标文件
- /usr/local 存放系统管理员下载的软件的安装目录
- /usr/sbin 存放不常用的系统命令
- /usr/src 存放源码
/var
- 变动数据目录
/var
一般用来存放经常变动的数据,比如日志文件和缓存文件。下面是 / var 目录下常见的几个子目录的含义:
- /var/cache 存放应用程序运行产生的临时文件
- /var/lib 存放程序在执行过程中需要使用到的数据文件,每个软件在此目录下都有自己独自的目录
- /var/lock 存放程序的锁状态
- /var/log 存放各种日志文件
- /var/mail 存放个人电子邮箱
- /var/run 有些程序在运行后,会将他们的 pid、socket 文件放置到这个目录中
速记表格
Linux | 含义 | windows |
/bin | 所有用户可用的基本命令存放的位置 | windows没有固定的命令存放目录 |
/sbin | 需要管理员权限才能使用的命令 | |
/boot | linux系统启动的时候需要加载和使用的文件 | |
/dev | 外设连接linux后,对应的文件存放的位置 | 类似Windows中的U盘,光盘的符号文件。 |
/etc | 存放系统或者安装的程序的配置文件,注册服务等 | 类似windows中的注册表, |
/home | 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 | 类似windows中的"我的文档",每个用户有自己的目录。 |
/root | root账户的家目录,仅供root账户使用 | 类似windows中的Administrator账户的"我的文档" |
/lib | linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar | |
/usr | 很多系统软件的默认安装路径 | 类似windows中的C盘下的Program Files目录。 |
/var | 系统和程序运行产生的日志文件和缓存文件放在这里 |
目录结构说明
结构特点说明
- linux根下⾯的⽬录是⼀个有层次的树状结构
- linux每个⽬录可以挂载在不同的设备(磁盘)上挂载
1) linux根下⾯的⽬录是⼀个有层次的树状结构 2) linux每个⽬录可以挂载在不同的设备(磁盘)上 挂载 磁盘-设备(房间) 想存储东⻄ 从⻔进⼊>:⽬录(挂载 点) 磁盘设备 《-- 挂载 --》 ⻔(⽬录) 实践操作实现挂载过程 第⼀个⾥程:拥有⼀个存储设备(光驱) 第⼆个⾥程:找到相应光驱设备 [root@jasonNB ~]# ls /dev/cdrom /dev/cdrom [root@jasonNB ~]# ls -l /dev/cdrom lrwxrwxrwx. 1 root root 3 Dec 6 09:07 /dev/cdrom -> sr0 第三个⾥程:进⾏挂载操作 mount /dev/cdrom /mnt/(挂载点⽬录⼀定存在)
⽬录结构说明 第四个⾥程:确认是否挂载成功 ls /mnt 第五个⾥程:取消挂载 umount /mnt
重要目录数据
1.⽹卡配置⽂件 /etc/sysconfig/network-scripts/ifcfg-eth0 ens33 # 编辑⽹卡⽂件时可以先提前备份⼀份 cp xxx /tmp/xxx.bak ps:esc + . 调⽤上⼀个命令最后⼀个参数信息 # ⽹卡⽂件修改后,必须重启⽹络服务 systemctl restart network 初始化软件安装 yum install -y vim tree bashcompletion(提供命令参数补全功能 systemctl) """ BOOTPROTO=none 启动协议 获取IP地址的⽅法 ⾃动获取 dhcp⼿动 设置 DEFROUTE=yes 开启了默认路由 ⽹络(默认路由 动态路由 静态路 由) NAME=eth0 ⽹卡逻辑名称 UUID=... 在虚拟化软件标识⼀些硬件设备信息 DEVICE=eth0 ⽹卡设备名称 ONBOOT=yes 确保⽹卡是否处于激活状态 IPADDR=10.0.0.200 IP地址设置 PREFIX=24 设置⼦⽹掩码确保⼀个局域⽹⾥⾯可以连接多少台主机默 认253 GATEWAY=10.0.0.254 ⽹关信息 不同局域⽹之间进⾏通讯的必经 关卡 需要和虚拟编辑器中nat⽹卡设置保持⼀致 IPV6_PRIVACY=no DNS=114.114.114.114 DNS 域名解析服务 """ 2.DNS服务设置⽅法 ⽅法⼀:设置为阿⾥云dns服务器地址 223.5.5.5 223.6.6.6 ⽅法⼆:通⽤dns服务器地址 114.114.114.114 114.114.114.119 ⽅法三:利⽤移动dns服务器(⾕歌dns服务器)了解即可 8.8.8.8 ⽅法四:使⽤⽹关地址充当dns服务器地址 10.0.0.254 3.⽹卡域名解析配置⽂件 域名配置文件地址 /etc/resolv.conf 查看当前DNS网址 cat /etc/resolv.conf 修改当前DNS网址 vi /etc/resolv.conf nameserver 114.114.114.114 nameserver 223.5.5.5 配置完成,⽴即⽣效 ⽹卡的dns配置优先于resolv.conf⽂件中的配置 4.主机名称配置⽂件 centos6 /etc/sysconfig/network 主机名称配置⽂件 centos7 /etc/hostname 主机名称配置⽂件 修改主机名称 第⼀个⾥程:利⽤命令修改主机名称 # 临时修改 hostname jasonNB ps:修改完成,需要重新连接,才能命令⽣效 第⼆个⾥程:编辑修改配置⽂件 # 永久修改 vi /etc/hostname centos7有特殊修改主机名称⽅式 hostnamectl set-hostname oldboyds05 5.本地域名解析⽂件 /etc/hosts ⽹站⻚⾯信息变更 ⼩公司 直接调试线上服务器 夜⾥操作 ⼤企业 直接调试测试服务器测试访问 模拟真实环境访问 京东线上⽹站服务器地址 112.65.34.1 京东线下⽹站服务器地址 10.0.0.200
标签:文件,系统命令,信息,etc,存放,linux,root,目录 From: https://www.cnblogs.com/chen-ao666/p/17050975.html