Linux②—概述与基本命令

版权声明:本文为博主原创文章,未经博主本人允许,不得转载。如有问题,欢迎指正! https://blog.csdn.net/u010511598/article/details/88166302

Linux②—概述与基本命令

操作系统相当于软件和硬件之间的接口

1、操作系统分类

①桌面操作系统

Windows系列
Mac OS
Linux
②服务器操作系统
Linux
Windows Server
③嵌入式操作系统
Linux
④移动设备操作系统
iOS
Android(基于Linux)
Windows Phone
BlackBerry OS

2、Linux内核和发行版

Linux内核:Linux内核是一种开放源码的操作系统,由 Linus Benedict Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
Linux发行版:Linux发行版基于linux内核源码,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包。
Linux主要发行版:
Ubuntu、CentOS、Debian、Red Hat Linux、Linux Mint、Fedora Core、Mandrake、SuSE、Gentoo

3、单、多用户操作系统与单、多任务操作系统

①单用户、多用户。根据在同一时间使用计算机用户的多少,操作系统可分为单用户操作系统和多用户操作系统。单用户操作系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用计算机,则称为多用户操作系统。
②单任务、多任务。用户在同一时间可以运行多个应用程序(每个应用程序被称作一个任务),则这样的操作系统被称为多任务操作系统。如果一个用户在同一时间只能运行一个应用程序,则对应的操作系统称为单任务操作系统。
早期的DOS操作系统是单用户单任务操作系统
Linux、UNIX是多用户多任务操作系统
现在常用的Windows操作系统都是多用户多任务的操作系统

4、Linux目录结构

Windows是用盘符区分盘的,然后每个盘下又可以分为各级目录,各级目录下又有各级子目录
Linux没有盘符概念,而只有一个根目录 / ,所有文件都存在该目录下
详解:
/:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev:dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
/tmp:这个目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件:
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

5、Ubuntu的使用

ubuntu16版本的菜单栏在顶部,得把鼠标移动到顶部栏才会显示出来

6、Linux命令

①学习Linux命令的原因
因为开发过程只能通过 远程 连接服务器,对服务器进行操作,它并没有图形化界面,所有部署与维护工作都必须靠Linux命令;而且后台程序员也需要或多或少去掌握一些Linux命令
②终端使用技巧
放大字体 Ctrl + Shift + =
缩小字体 Ctrl + -
自动补全 敲出 文件名、目录名或者命令的前几个字母之后,按下Tab键
1.如果输入前面的字母,没有歧义,系统会自动补全
2.如果输入前面的字母,对应多个结果,再按一下Tab键,系统会提示多个存在的结果
历史命令 按 上/下 方向键可以在曾经敲过的命令中切换
如果想要退出选择并且不想执行当前命令,按 Ctrl+c
③Linux基本命令
序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容
02 pwd print working directory 查看当前所在文件夹
03 cd [目录名] change directory 切换文件夹
04 touch [文件名] touch 如果文件不存在,新建文件
05 mkdir [目录名] make directory 创建目录
06 rm [文件名] remove 删除指定的文件名
07 clear clear 清屏

④命令格式
command [-option] [parameter]
命令 [选项] [参数]
[ ] 中为可选内容

扫描二维码关注公众号,回复: 5418458 查看本文章

⑤查阅终端命令的帮助信息
1.百度查找
2.命令名字 --help 查阅该 command 命令的帮助信息
3.man 命令名字 查阅该 command 命令的帮助信息,man是 manual:手册
man显示更加详细,使用man查阅命令的帮助信息使用的操作键
操作键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b(back) 回滚一屏
f(forward) 前滚一屏
q(quit) 退出
/word 搜索 “word” 字符串

⑥Linux命令详解
1、ls 命令
linux系统中以 . 开头的为隐藏文件,单独显示时,.代表当前目录,…代表上级目录
选项 含义
-a 显示指定目录下的所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 仅配合 -l 才有效,以通俗方式显示文件大小
额外掌握:
Linux系统下使用ls命令会发现显示出来的文件或目录颜色不同,这是系统默认针对不同文件类型设置了不同的颜色 。
  浅蓝色:表示链接文件;
  灰色:表示其他文件;
  绿色:表示可执行文件;
  红色:表示压缩文件;
  蓝色:表示目录;
  红色闪烁:表示链接的文件有问题了;
  黄色:表示设备文件,包括block,char,fifo。
用"dircolors -p"命令可以看到缺省的颜色设置,包括各种颜色和"粗体",下划线,闪烁等。

2、cd 命令
选项 含义
cd 切换到当前用户的主目录(home/该用户目录)
cd ~ 切换到当前用户的主目录(home/该用户目录)
cd . 继续在当前目录
cd … 切换到上级目录
cd - 可以在最近两次工作目录之间切换
绝对路径:指从 根目录或者当前工作目录~ 开始,例如/home/xxxx,~/Desktop/xxx
相对路径:相对于 当前目录 开始,例如 ./,…/

3、touch 命令
如果文件不存在,可以创建一个新文件
如果文件已经存在,可以修改文件的最后修改日期时间
可以这样使用:touch xxx/yyy/zzz.txt

4、mkdir 命令
创建新目录
选项 含义
-p 可以直接创建多级目录
例如:mkdir -p aaa/bbb/ccc/ddd
注意:新目录名称 不能与当前目录中 已有的目录或文件 同名
例如:文件名为123,就不能建立一个123的目录名,如果文件名为123.txt,则无影响

5、rm 命令
注意:rm命令将会直接删除,不会提示
选项 含义
-f 强制删除操作,没有任何提示,包括该文件不存在
-r 删除文件夹及该文件夹下所有内容

6、拷贝和移动文件
序号 命令 对应英文 作用
01 tree [目录名] tree 以树状图列出文件目录结构
02 cp 源文件 目标文件 copy 复制文件或目录
03 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名

tree:以树状图列出文件目录结构
选项 含义
-d 只显示目录
如果没有安装tree,则输入sudo apt install tree进行安装
直接输入 tree 则列出当前目录的树状图
输入 tree 目录名 ,则列出该目录下树状图

cp 命令
选项 含义
-i 覆盖文件前提示
-r 若给出的源文件是目录,则cp将该目录下的所有子目录和文件复制过去,目标必须为一个目录名
复制目录时,如果目标目录存在,则将源目录放到目标目录下,如果目标目录不存在,则将源目录重命名为目标目录的名字
注意:最好使用时加上-i 以防发生意外情况

mv 命令
选项 含义
-i 覆盖文件前提示
mv可以给文件和目录重命名
注意:最好使用时加上-i 以防发生意外情况

7、查看文件内容
序号 命令 对应英文 作用
01 cat 文件名 concatenate 查看文件内容、创建文件、文件合并、追文件内容等功能
02 more 文件名 more 分屏显示文件内容
03 grep 搜索文本 文件名 grep 搜索文本文件内容

cat 命令
cat会一次显示该文件的所有内容,适合查看 内容比较少 的文本文件
选项 含义
-b 对非空输出行编号
-n 对输出的所有行编号
补充:Linux中还有一个 nl 与 cat -b 等效

more 命令
more会分屏显示文件内容,每次只显示一页内容,故适合查看 内容较多的 文本文件
操作键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b(back) 回滚一屏
f(forward) 前滚一屏(测试 Ubuntu 会发生跳过xx行)
q(quit) 退出
/word 搜索 “word” 字符串(测试 Ubuntu 只能往下搜索)

grep 命令
Linux系统中 grep 命令是一种强大的文本搜索工具
grep允许对文本文件进行模式查找,即正则表达式
补充:搜索中间有空格的字符串时得用引号包含起来
选项 含义
-n 在符合样式的行之前标识行号
-v 显示不包含匹配文本的所有行(相当于求反)
-i 忽略大小写

常用的两种查找模式
参数 含义
^a 行首,搜索以a开头的行
z$ 行尾,所搜以z结束的行

补充
通配符 含义

  • 代表任意0个1个或多个字符
    ? 代表任意一个字符,且只能是一个字符
    [ ] 表示可以匹配字符中的任意一个
    [abc] 匹配a、b、c中的任意一个字符
    [a-f] 匹配a到f范围内的任意一个字符

8.echo与重定向
echo:回声、重复
echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出,通常用于与 重定向 联合使用

重定向 > 和 >>
Linux的重定向用于将显示在 终端的内容 输出或者追加 到指定文件中

输出,覆盖文件原有文件内容

追加,将本次新内容追加到已有文件的末尾
用法诸如:tree > a

9.管道 |
符号:| 因为和管道特别形象,管道是Linux中很重要的一种通信方式,是把一个程序的输出直接连接到另一个程序的输入
格式:Command-1 | Command-2 | …| Command-N
例如: ls -alh ~ | grep D 用于列出 ~目录下(即当前用户目录)的所有文件和目录,然后将结果传递给grep进行搜索 搜索含有D的匹配行

猜你喜欢

转载自blog.csdn.net/u010511598/article/details/88166302
今日推荐