Linux发展史,Linux目录结构,常用命令行

1.2 云计算系统管理:Linux发展史,Linux目录结构,常用命令行

Linux发展史,Linux目录结构,常用命令行_第1张图片

什么是Linux

  • Linux是一种操作系统。Microsoft以前的眼中钉,如今的互联网幕后boss。
  • 超级计算机Top500:超级计算机大部分都是Linux系统

Unix/Linux发展史

  • Unix官方生日:1970.1.1
  • 内核版本号:主版本.次版本.修订号 。如4.10.123

Linux版本及应用

  • 因为Linux开源,所以版本非常多,比如Red Hat Enterprise Linux 5/6/7,Suse Linux Enterprise 12,Debian Linux 7.8,Ubuntu Linux 14.10/15.04。发行版的名称/版本由发行方决定。
  • Red Hat系列版本
    – 红帽Linux企业版(Red Hat Enterprise Linux,简称RHEL)
    – Fedora Core社区版
    – CentOS社区企业操作系统(Community Enterprise Operating System):企业用的更多的是CentOS,和RHEL的架构和操作一模一样,但是RHEL是收费的

Linux目录结构

  • Windows目录结构:树形结构
    Linux发展史,Linux目录结构,常用命令行_第2张图片
  • Linux目录结构:所有数据都在根目录下,根目录用“/”表示。根目录下的子目录有boot home root tmp等,都有自己的作用。
    Linux发展史,Linux目录结构,常用命令行_第3张图片
  • 路径:/dev/abc/haha.txt,只有开头的/代表根目录,后面的/都是分隔符
    – 相对路径:不完整的路径
    – 绝对路径:完整的路径
    – 比如有一个绝对路径是/etc/pki,如果在etc里,想进pki,有两种方式。第一种用绝对路径cd /etc/pki,进了pki以后再输这个,输多少遍都不会报错。第二种是输相对路径cd pki,也就是这个目录此时的相对位置。但是这样进了pki以后,再输pki就会报错。
  • 根目录(/):所有的数据都在此目录下(Linux系统的起点)
    – /dev:存放设备(键盘鼠标显示器磁盘光驱等)。Linux磁盘的表示方法:/dev表示设备所在位置,hd表示IDE设备,sd表示SCSI设备,最后一个字母表示第几块。如1)/dev/sdb:表示SCSI设备,第2块,2)/dev/hdd:表示IDE设备,第4块。
    – /home:存放所有普通用户的家目录。家目录是用户所有的个性化信息,如创建的文件。普通用户的所有数据都在/home里。
    – /root:管理员的家目录,存放脚本之类的。相当于管理员给自己建了一个别墅/root,把普通用户都放到了一个叫/home的小区,每个用户在小区里面有一个自己的家。
    – /etc:存放系统配置文件。重要性不亚于/root。开机等所使用的配置文件都存在这个地方。
    – /opt:用户可选择目录(主要给root用户使用)。也就是说完全给用户自主用的,没有其他特定功能。
    – /proc:存放内存中的映射数据,不占用磁盘空间,数据来源于内存
    – /boot:存放系统必要文件,包括内核,启动配置
    – /bin、/sbin:存放各种命令程序
    – /tmp:存放系统运行过程中使用的一些临时文件
    – /var:存放日志文件、邮箱目录等经常变化的文件

命令行

log in后显示的[root@localhost ~]#:

  • [当前登录的用户@当前主机名 当前所在位置]
    – localhost是默认主机名
    – @没有意义,单纯分隔符
    – #代表当前身份为超级管理员root,权限很大,可以看普通用户的所有东西。$代表普通用户。
    – ~:家目录。

pwd

  • print working directory,查看当前所在的位置

cd:change directory,切换目录位置

  • 格式:cd [目标目录位置]
  • cd .:cd加一个点表示当前目录的完整路径,随当前位置变化而变化
  • cd…:两个点表示父目录
  • cd ~[其他用户名]:管理员访问其他用户的家,如cd ~lisi
  • cd ~:进入当前用户的家目录,登录账号以后所在的缺省目录

useradd [新用户名]

  • 管理员创建新用户

ls

  • 缩写list,显示当前目录下内容
  • 白色背景下列出的蓝色是目录,黑色是文件,浅蓝色是快捷方式,红色是压缩包,背景红色白色字体的目录代表有特殊权限。黑色背景下列出的紫色是目录,绿色是文件。
  • ls [目标目录]:查看目标目录下的内容。ls后跟的被称作参数,可以同时查看多个目录,不同参数之间用格隔开,如ls /bin /root
  • lscpu:查看cpu
  • –l:abbr. long。显示详细属性。详细信息中,d开头是的目录(蓝色);l开头的是连接,引到目录(浅蓝色);–开头的是文件(黑色)。
  • –h:与–l一起使用,加上用易读的单位。–l里只显示出无单位的numerical大小,–h会加上单位。
  • –d:与–l一起使用,显示目录本身的详细信息。ls –l /opt显示的是opt中文件的详细信息,如果想看/opt目录本身的详细信息,需要输入ls –ld。
  • –A:查看全部数据,包括隐藏数据。Linux中隐藏数据以.开头。表示all,l表示显示所有详细信息。
  • –n:abbr. number。给输出结果编号。
  • lsblk:查看当前系统所有的硬盘信息

cat

  • 查看文本文件内容的命令
  • 格式:cat [文件路径]
  • cat /etc/redhat–release:查看当前系统的版本
  • cat /proc/meminfo:查看内存

hostname:查看主机名

  • 主机名中有’.'的话,只会显示第一个.之前的内容,比如a.b.c,只会显示a(但是hostname仍是a.b.c)。如果没有点就显示完整名字。
  • echo “主机名” > /etc/hostname:永久设置主机名。/etc/hostname默认状态下不存在,执行完这条命令后就有了。7.0系统里,这条命令打完即生效。

ifconfig:

  • 列出所有active的网卡。eth代表了Linux的网卡,eth0是第一张网卡,eth1是第二张网卡,以此类推。lo代表回环接口,专用于测试,用本机访问本机,如果本机都无法访问本机,其它机器更不能访问。回环接口固定ip地址127.0.0.1(which means此ip地址永远代表本机)。可以ping 127.0.0.1(或者ping本机ip地址)来看能不能和自己连通(但如果用了这个,机器会一遍一遍check,不停下来,需要用Ctrl+c来停止)。
  • ifconfig [网卡名]:查看网卡名
  • ifconfig [网卡名] [IP地址]:给网卡配IP地址。如ifconfig eth0 192.168.1.1。一个主机可以有好几块网卡,which means一台主机上能配很多IP地址。

reboot:重启命令

poweroff:关机

nmtui

  • 在图形界面永久设置主机名/IP地址/子网掩码/DNS服务器地址/网关地址等
  • 在写地址时,后面要写上/24或者其他的相匹配的子网掩码,否则默认/32,即全部为网络位。
  • 网关地址和IP地址必须在同一网段。
  • 如果本身没有配置网卡,设置完了后直接生效,如果原本有,需要选择启用连接重新激活。

nmcli:命令行模式永久设置IP地址,子网掩码,网关地址等

  • nmcli connection show:显示网卡名称
  • nmcli connection modify “连接名” ipv4.method manual ipv4.addresses “172.25.0.11/24 172.25.0.254” ipv4.dns 172.25.254.254:配置IP 地址/掩码/默认网关/DNS 地址
  • nmcli connection modify “连接名” connection.autoconnect yes:自动连接
  • nmcli connection up “连接名”:启用配置

less

  • less [路径]:分页查看大文件。按键盘上下键翻页。
    – 输入 /检索字:全文查找关键字。如输入/bin就全文查找bin
    – 输入n:跳转匹配的项
    – 输入q:退出

mkdir

  • mkdir 目录名:当前路径下创建(e.g. mkdir nsd03)
  • mkdir [/路径/]目录名:在此路径下创建目录(e.g. mkdir /root/nsd03)
  • –p:表示连父目录一起创建 (比如mkdir –p a/b/c是创建a/b/c嵌套目录)
  • –R:表示递归显示,即全部展开显示。如:/opt/a/b/c/d is valid,ls –R /opt/a就会依次把/a,/b,/c,/d都显示出来

touch

  • 创建文件 / 修改时间戳
  • 格式:touch [/路径/]文件名
  • 如果该路径下不存在此名文件,则创建空白文件(e.g. touch /opt/1.txt)
  • 如果该路径下存在此名文件,修改文件时间戳(比如原文件时间戳是2018年9月,执行此命令后时间戳就更改成当前时间)

显示头尾n行:

  • head –数字n [路径]:显示头n行(不输–n的话,默认显示十行)
  • tail –数字n [路径]:显示最后n行(不输–n的话,默认显示十行)

grep

  • grep 字符串 目标文件:输出包含指定字符串的行。如grep ‘haha’ /opt/a.txt,就是输出/opt下a.txt文件中所有包含哈哈的行。
  • grep –v 字符串 目标文件:输出不包含指定字符串的行
  • grep –i 字符串 目标文件:忽略大小写输出
  • grep ^字符串 目标文件:输出开头是指定字符串的行。
  • grep $字符串 目标文件:输出结尾是指定字符串的行。
  • 显示文件的有效信息(即去掉注释行、空行。注释行大多数以#开头,少数以;等其他符号开头)
    – 显示非注释行:grep –v # 目标文件
    – 去除空行:grep –v ^$ 目标文件(^$匹配空行)
    – 注意:–v后面不能连用匹配条件,所以如果要同时使用,需要管道

vim

  • 文本编辑器。vim也具备创建功能。如果文本文件存在,vim它的路径会打开并编辑;如果文本文件不存在,创建并编辑。比如vim /opt/weird.txt,weird.txt不存在,vim就会创建一个叫weird的文本文件。但是vim只能创建文本文件,不能创建目录。
  • 三个模式(相应模式进行相应动作,不能混着用):
  1. 命令模式:看文本
    – 进入后初始状态直接就是命令模式。
  2. 插入模式(又称编辑模式/输入模式):修改文本
    – 命令—>插入:i键
    – 插入—>命令:Esc
    – 命令—>插入:o键,和i的区别是o是从光标位置另起一行插入
    – 光标跳转操作
    Linux发展史,Linux目录结构,常用命令行_第4张图片
    – 复制、粘贴、删除操作
    Linux发展史,Linux目录结构,常用命令行_第5张图片
    – 查找替换:/查找字符串
  1. 末行模式:保存并退出
    – 命令—>末行:“:”键
    – 末行—>命令:Esc
    – 从末行保存并退出:wq
    – 从末行不保存并退出:q!
    – 文件操作
    指令 作用
    在这里插入图片描述
    – 字符串替换
    Linux发展史,Linux目录结构,常用命令行_第6张图片

man [命令字]

  • 查询某命令使用方法。如输入man alias就会获得一份详细的如何使用man的指南。

alias:简化复杂的命令。

  • alias:查看所有已设置的别名
  • alias 别名名称:查看已经设置的
  • alias 别名名称=‘实际执行的命令’:定义新的别名(如alias hn=‘hostname’)
  • unalias 别名名称:取消别名
  • 注意事项
    – 别名如果和系统名字冲突,系统会认你的。比如你起了ls = “poweroff”, ls就不是list而是poweroff
  • 设置永久别名:
    – 影响一个用户:配置文件~/.bashrc(用户家目录里的隐藏文本文件bashrc),用vim在文件中加入命令行。但是更改配置文件不会立即生效,需要重新开启终端才可以。
    – 影响全部用户:配置文件/etc/bashrc

复制,删除,移动(一般不能与管道连用)

  • rm:删除,缩写remove。
    – 格式:rm [选项] 文件或目录
    – –r:递归删除(含目录),默认情况下不能删目录,加上–r才能删。
    – –f:其实rm是一个系统里一个默认的别名,事实上是rm=’rm –i’,–i代表执行前询问。所以用rm直接删除文件,会在删之前询问是否删除。如果想强制删除(即不询问直接删除),就加上-f,因为rm里–f的优先级比–i高,所以可以生效。
  • mv:移动,缩写move。
    – 格式:mv [选项] 原文件 目标路径
    – 如何用mv来重命名:mv 原名路径 重命名路径。这样操作即完成了一个路径不变的移动。如 mv /opt/nsd /opt/haha就是把/opt里的nsd改成了haha
    – cp:abbr. copy。cp [选项] 原文件 目标路径
    – 复制可以支持多个参数。永远把最后一个参数作为目标,其他的所有参数都作为源。
    – 复制经常与点连用:一个点‘.’表示当前路径。如把/etc/shells拷贝到当前路径:cp /etc/shells .
    – 出现重名:可以在cp前加\,意思是本次操作取消别名,即直接执行命令不询问。
    – 注意事项:cp同样也是系统里默认的alias。cp=’cp –i’。但cp里–f优先级低于–i。\在其他是别名的命令上也可以使用。

重定向输出

  • ‘>’:覆盖重定向。把前面命令输出的内容直接写入到文本文件。文件没有的话,会帮忙创建。如:hostname > /opt/ls.txt;ls –help > /opt/ls.txt
  • ‘>>’:追加重定向。如果文本文件已经存在,>会覆盖原文本的内容,>>是把新文本贴到原文本文件后面
  • 如:hostname >> /opt/ls.txt

echo

  • 格式:echo [任意内容]。用户写什么就输出什么。
  • 和重定向输出配合使用:例如echo 123456 >> /opt/ls.txt,就是把123456这一行加到ls.txt的最后面。
  • echo经常会用来改密码之类的

|

  • 管道操作。将前面命令的输出作为参数,交由后面命令处理。
  • 如:head –12 /etc/passwd | tail –5 | cat –n。先择出来文本前12行,再挑选这12行的后5行,再给这些行编号输出。
  • ifconfig | head –2:看第一块网卡的ip地址
  • 和echo一起使用,可以用来改密码:如echo hahahaha | passwd --stdin natasha,就是把用户natasha的密码改成hahahaha的意思。

find

  • 查找文件,根据预设的条件递归查找对应的文件。就好像是查字典的时候从头到尾翻,把所有查到的结果都返回来
  • 格式:find [目录] [条件1] [条件2]…:可以有单个或多个条件。
  • 常用条件
    – –type类型 [f文件、d目录、l快捷方式]:查找全部文件or目录or快捷方式。如 find /etc –type f
    – –name ‘字符串’:搜索名称带指定字符串的全部路径。如find /etc –name ‘passwd’
    – –size +|–文件大小(k、M、G):找大于或小于指定大小的文件。如find /boot –size +10M
    – –user 用户名:找所有该用户为所有者的内容。由于/proc内容不在磁盘上,所以搜索会报错
    – mtime +|– 天数:根据文件修改时间。如find /root mtime +10(+代表最近n天)find /root mtime –30(–代表n天之前的数据)
    – –exec操作:复制移动删除不能接受管道传来的参数,所以无法与find连用,–exec可以解决。格式:find命令 –exec 执行命令 {} 参数;。以{}代替find到的每一个结果,逐一处理,以;结束。如find /etc –name ‘passwd’ –exec cp {} /opt ;

systemctl

  • systemctl restart 程序名:重启程序
  • systemctl enable 程序名:开机自启动

wc

  • wc –l 文件路径:统计文件有多少行
                                

你可能感兴趣的:(linux操作系统基础)