Linux 操作系统使用示例

Linux操作系统

  1. Linux特点

    • 一切都是文件
    • Linux是一款免费的操作系统
    • Linux支持多用户,多任务
    • 支持多种平台
    • 具有非常强大的网络功能
    • 简化开发过程,较强的移植性
  2. Linux应用领域

  • Linux 服务器 : 目前Linux服务器是当前最广泛的应用。
  • 桌面应用:新版本的Linux系统特别在桌面应用方面进行了改进,达到相当的水平
  • 嵌入式系统:由于Linux系统开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性,因此,在嵌入式应用的领域里LINUX操作系统都有很广阔的应用市场。
  1. Linux 操作系统结构

一个典型的Linux操作系统组成为:Linux内核,文件系统,命令行shell,图形界面和桌面环境,并包各种工具和应用软件。

  • Linux内核: Linux操作系统的核心代码,是Linux系统的最底层,提供了系统的核心功能并允许进程以一种有序的方式访问硬件。
  • 文件系统:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能
  • shell命令:Shell是一个命令行解释器,它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用相应的应用程序,并根据用户输入的指令来反馈给用户指定的信息。
  • 应用软件:包含桌面系统和基础的软件操作工具等。

主要目录功能

  1. /bin目录

​ /bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序(bin是binary----二进制的简称),多是系统中重要的系统文件。

  1. /sbin目录

​ /sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。

  1. /etc目录

​ /etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc等。linux正是因为这些文件才得以正常地运行。

  1. /root目录

​ /root 目录是超级用户的目录。

  1. /lib目录

​ /lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。

  1. /dev目录

​ /dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。

  1. /usr文件系统

​ /usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他东西在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。

  1. /var文件系统

​ /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。

  1. /home

普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。

绝对路径和相对路径

绝对路径和相对路径都是在Linux中用来描述一个文件位置的描述方法

绝对路径:指文件在文件系统中以根目录为起始点的准确位置描述。例如“/usr/bin/gnect”就是绝对路径。

相对路径:指相对于用户当前位置为起始点,对一个文件位置的逐层描述。例如,用户处在usr目录中时,只需要“games/gnect”就可确定这个文件。在相对路径描述时 . 表示当前目录, .. 表示上一级目录。

环境变量

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如系统目录位置等。如果将一个目录设置为环境变量目录,那么这个目录下的文件在任何目录下都可以查找到。

临时设置环境变量: export PATH="$PATH:/your_dir_path"

永久设置环境变量:修改etc下的profile文件,输入vi /etc/profile,将上述语句添加进去

编译器使用

vi使用

Vi是一个著名的功能强大的文本编辑器,它是Linux中最基本的编辑器,虽然不像图形界面编辑器那样美观,没有使用鼠标那样方便。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。

插入模式: 用来输入文本内容,在这种模式下摁 esc 键进入命令模式

命令模式:命令操作,命令模式又包含底行命令,即在vi底部命令行输入命令。在命令模式下键入 ':' 即进入底行命令输入

Vi常用命令

操作命令

  • i 在当前字符的左边插入
  • o 在当前行下面插入一个新行
  • h 向前移动一个字符
  • j 向下移动一行
  • k 向上移动一行
  • l 向后移动一个字符
  • b 移动到当前单词的开始
  • e 移动到当前单词的结尾
  • w 移动到下一个单词
  • 0:光标移动到行首
  • $:光标移动到行末
  • G : 光标移动到文件结尾
  • gg : 光标移动到文件开头
  • yy 复制当前一行
  • dd 剪切当前一行
  • p 粘贴内容到游标之后
  • P 将剪贴板中的内容粘贴在光标前
  • x 删除光标所在字符
  • r 修改光标所在字符,r后接着要修正的字符
  • R 进入取代状态,新增资料会覆改原先资料, 直到按ESC回到指令模式下为止
  • s 删除光标所在字符,并进入输入模式
  • S 删除光标所在的行,并进入输入模式
  • cw 删除光标所在的后一单词进入插入模式
  • cb 删除光标所在的前一单词进入插入模式
  • c$ 删除自光标位置至行尾的所有字符,进入插入模式
  • c0 删除自光标位置至行首的所有字符,进入插入模式
  • cc 删除当前行进入插入模式
  • u 撤销操作
  • ctrl-r 反撤销

底行命令

  • :n 跳转到底n行
  • :w 保存
  • :w filename 存入文件filename 中
  • :w! filename 强制性存入文件filename 中
  • :q 退出
  • :q! 强行退出
  • :set nu 显示行号
  • /word 查找内容
  • :%s/hello/nihao/g 将所有的hello 替换为nihao
  • :5,8s/hello/nihao/g 将5-8行的hello 替换为nihao

shell命令

我们在Linux终端命令行下输入的命令称为shell命令,是通过shell解释器解释后由系统执行。shell解释器也是一代一代进化的,我们现在所使用的shell是 bash shell。 在服务器系统操作维护中,shell命令起到了很重要的作用,因为服务器操作往往没有图形界面,或者通过远程命令控制完成,这时候shell命令可以帮助我们实现很多功能。

shell命令基本格式有三部分,每部分之间有空格,选项与选项,参数与参数之间也有空格。(多个选项可以写在一起):

命令 [选项] [参数]

基础命令

作用 命令及常用选项
关闭重启系统 shutdown
临时管理员权限 sudo
帮助说明 man
退出终端 exit
清空屏幕 clear
查看文件绝对路径 pwd
切换工作目录 cd
查看文件 ls , ls -l , ls -a
打印内容 echo
创建目录 mkdir -p
删除目录 rmdir
创建文件 touch
复制文件 cp -r
移动文件 mv
删除文件 rm -rf
查找文件 find
查看文件信息 file
查看文件内容 cat
查看文件前 n 行 head
查看文件后n行 tail
对比文件差异 diff
查询文件内容信息 wc
查找文件里符合条件的字符串 grep
修改文件权限 chmod
创建链接文件 ln , ln -s
显示当前时间 date
查看磁盘使用情况 df
显示当前用户 whoami
查找服务程序位置 witch
查找命令文件及关联目录 whereis
  • shutdown : 默认情况为1分钟后关机, +n 表示n分钟后关机,在这个过程中shutdown -c 可以取消。shutdown -h now表示立即关机
  • sudo:在命令前书写,表示已以管理员权限运行这个命令。
  • man:使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。
  • exit : 关闭一个终端,通过ctrl+alt +t ,shift+ctrl + t , shift+ctrl+n 都可以快速打开一个终端
  • clear:等同于ctrl-l,清空屏幕
  • pwd:pwd命令用于显示用户在文件系统中的当前位置。
  • cd:用于改变工作目录,参数为绝对路径或者相对路径。
  • ls : 查看目录下的文件列表 -l 展示详细信息,-a展示隐藏文件(Linux下 . 开头的为隐藏文件)
d    rwx r-x r-x    2    linux    linux      4096         Sep 22  2012       Desktop

各项含义分别是: 文件类型,文件的权限,文件的链接数,文件的所有者,文件所在组,文件的大小,文件的更新时间,文件名
  • echo :标准输出一段文字在显示器上,-n表示输出后不换行

    输入/输出重定向是改变Shell命令或程序默认的标准输入/输出目标,重新定向到新的目标。
    
    重定向符 含义 实例
    > file 将file文件重定向为输出源,新建模式 echo "hello world" > out.txt,将执行结果,写到out.txt文件中,若有同名文件将被删除
    >> file 将file文件重定向为输出源,追加模式 ls /usr >> Lsoutput.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后
    < file 将file文件重定向为输入源 wc < file1,将file1中的内容作为输入传给wc命令
  • mkdir : 创建一个目录,-p用户创建多层目录

  • rmdir : 删除一个空目录

  • touch : 创建一个文件

  • cp : 复制文件/文件另存, -r 可以复制文件目录

  • mv: 移动文件/文件重命名

  • rm : 删除文件,-rf 用于删除目录

当需要用命令处理一组文件,例如file1.txt、file2.txt、file3.txt……,用户不必一一输入文件名,可以使用Shell通配符。
通配符 含义 实例
星号(*) 匹配任意长度的字符串 用file_*.txt,匹配file_wang.txt、file_Lee.txt、file3_Liu.txt
问号(?) 匹配一个长度的字符 用flie_?.txt,匹配file_1.txt、file1_2.txt、file_3.txt
方括号([…]) 匹配其中指定的一个字符 用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
方括号([ - ]) 匹配指定的一个字符范围 用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt
方括号([^…] 除了其中指定的字符,均可匹配 用file_[^otr].txt,除了file_o.txt、file_r.txt和file_t.txt的其他文件
  • find : 在一个目录下查找文件 find path -name 按照名字查找

  • file : 查看一个文件的属性类型

  • cat : 查看一个文件内容

  • head : head - n file 用来查看一个 文件前n行

  • tail : tail -n file 用来查看一个文件的后n行

  • wc : 查看文件内容信息, -c 表示查看多少字符,-l查看多少行,-w 查看多少单词

  • grep : 用于查找内容包含指定的范本样式的文件, grep 指令会把含有范本样式的那一行显示出来。若不指定任何文件名称,则 grep 指令会从标准输入中读取数据。-n 用于显示行号,-i忽略大小写

    管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。
    
    ls | grep 'test'
    
  • chmod : chmod [权限声明] [file] 修改一个文件权限

    u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
    r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
    
    也可以用三位8进制表达权限
    
  • ln : ln [源文件] [目标文件] 创建链接,-s表示创建软链接,不加表示硬链接。硬链接想相当于副本,源文件名改变也不会影响链接,源文件删除则链接断开。软链接相当于快捷方式,源文件改变则链接断开,源文件删除重新创建后链接可以恢复。

  • date : 显示时间

  • df : 显示目前在Linux系统上的文件系统的磁盘使用情况统计,其中-T显示文件系统类型 ext4的为磁盘,其他的为虚拟文件。-h以M为单位显示

  • whoami : 显示当前用户

  • which : 查找一个程序位置

  • whereis : 查找一个命令文件及其关联目录

压缩管理

归档和压缩可以帮助我们很好的整理文件,在Linux系统下支持多种压缩格式。其中gzip是Linux中最流行的压缩工具,具有很好的移植性,可在很多不同架构的系统中使用。bzip2在性能上优于gzip,提供了最大限度的压缩比率。如果用户需要经常在Linux和微软Windows间交换文件,建议使用zip。

作用 命令及常用选项
压缩解压zip格式 zip -r, unzip
压缩解压gz格式 gzip, gunzip
压缩解压bz2格式 bzip2,bunzip2
归档压缩解压文件 tar
  • zip : 将文件压缩为zip格式

    • zip test.zip filelist

  • unzip : 将zip格式文件解压

    • unzip test.zip

  • gzip : 将文件压缩为gz格式

    • gzip file

  • gunzip :将gz文件解压

    • gunzip file.gz

  • bzip2 : 将文件压缩为bz2格式

    • bzip2 file

  • bunzip2 : 将bz2 文件解压

    • bunzip2 file.bz2

  • tar : 主要用于将若干文件或目录合并为一个文件,以便备份和压缩。-cjf 用于压缩bz2格式文件,-czf用于压缩gz格式文件,-xvf用于解压文件

    选项 描述
    -t 显示归档文件中的内容
    -x 释放归档文件
    -u 更新归档文件
    -c 创建一个新的归档文件
    -v 显示归档和释放的过程信息
    -f 用户指定归档文件的文件名,否则使用默认名称
    -j 由tar生成归档,然后由bzip2压缩
    -z 由tar生成归档,然后由gzip压缩

    tar -czf file.tar.gz file1 file2

    tar -xvf file.tar.gz

软件管理

Linux下安装的软件包是 deb格式软件包。Deb软件包将二进制应用程序、配置文档、帮助页面都整合在一个文件中,便于传递、安装、升级和备份。dpkg是最早的Deb包管理工具,使用dpkg可以实现软件包的安装、编译、卸载、查询,以及应用程序打包等功能。但是由于当时Linux系统规模和Internet网络条件的限制,没有考虑到操作系统中软件包存在如此复杂的依赖关系。因而,为了解决软件包依赖性问题和获取问题,就出现了APT工具。

作用 命令
本地包安装 dpkg -i <package>
本地安装包卸载 dpkg -r <package>
本地包状态查看 dpkg -s <package>
本地包卸载并清除记录 dpkg -P <package>
升级软件包 apt-get update
安装软件 apt-get install
卸载软件 apt-get remove --purge
下载源码包 apt-get source
删除缓存的软件安装包 apt-get clean

用户管理

Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。
作用 命令及常用选项
增加用户 adduser
设置用户密码 passwd
设置用户权限 usermod
删除用户 deluser
删除用户组 delgroup
修改文件归属 chown
  • adduser : 增加一个用户,--home 生产主目录 --ingroup选择用户组名称。默认组名和用户名相同
  • passwd : 修改一个用户的密码
  • usermod: 修改用户权限,如密码或则所属的组等
  • deluser : 删除一个用户 --remove-home 表示同时删除用户主目录
  • delgroup : 删除一个用户组
  • chown : 修改文件的所属用户
添加用户后为保证用户有sudo 权限,需修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,假设aid为用户名,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
aid ALL=(ALL) ALL
通过sudo vipw命令可以查看用户信息,在信息列表中绝大多数为虚拟用户。当添加一个用户时该文件会自动修改,如果删除一个用户则需要自己修改这个文件用户才彻底删除
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容