Linux学习|Gentoo/Arch/FreeBSDLinux云计算Linux学习之路

《Linux达人养成计划I》笔记分享

2017-03-15  本文已影响142人  古洞洞

课程介绍

《Linux达人养成计划I》是慕课网上的一门Linux基础入门课程,主要学习方向是服务器管理使用的基本命令。老师非常认真,讲课简洁明了,我一个Linux文盲一点都不觉得难懂。另外,除了交的好外,此课最大的特点是,课程中被提及次数最多的人是苍老师!
老师,我膜!!

快捷键概括

快捷键 作用
Ctrl + c 强制终止当前命令
Ctrl + l 清屏
Ctrl + a 光标移动到命令行首
Ctrl + e 光标移动到命令行尾
Ctrl + u 从光标所在位置删除到行首
Ctrl + z 把命令放入后台
Ctrl + r 在历史命令中搜索
cat m1 (在屏幕上显示文件ml的内容)  
cat m1 m2 (同时显示文件ml和m2的内容)  
cat m1 m2 > file(将文件ml和m2合并后放入文件file中)
权限范围表示方法
imageimage
Linux中文件的用户权限分析图:

rw--r--r 含义是:u属用户(管理者)--g属用户(group组员)--o属用户(其他人员)--

操作命令

可以直接写命令字符,如u,g,o,r,w,x;也可以使用数字命令符,r=4,w=2,x=1,

chmod u+x,g+w f01 为文件f01设置自己可以执行,组员可以写入的权限  
chmod u=rwx,g=rw,o=r f01  
chmod 764 f01  
chmod a+x f01  //对文件f01的u,g,o都设置可执行属性

第一课 发展史

Linux主要发行版本

Linux 不靠扩展名区分文件类型

命令格式

命令 【选项】 【参数】

注意:个别命令使用不遵循此格式,当有多个选项时,可以写在一起。简化选项与完整选项 -a 等于 --all

如:查询目录中内容:ls

ls [选项] [文件或目录]

选项:
-a 显示所有文件,包括影藏文件
-l 显示详细信息(ls -l 简化写法 ll)
-d 查看目录属性
-lh 人性化显示文件大小
-i 显示inode即id号

第二课 Linux目录处理命令

建立目录:mkdir

切换本地目录:cd

绝对路径和相对路径

删除目录、文件

4.复制命令:cp(copy)

5.剪切或改名命令:mv(move)

6. Linux中常见目录作用

禁止修改的重要目录

第三课 链接命令:ln(link)

硬链接与软连接

语法:ln+[原文件]+[目标文件](默认创建硬链接)

硬链接

语法:ln+[原文件]+[目标文件]

软连接

语法:ln -s +[原文件]+[目标文件](-s 对源文件建立符号连接,而非硬连接)

第四课 搜索命令

文件搜索命令locate

locate命令格式:locate 文件名

搜索命令的命令whereis和which

whereis
搜索出系统命令所在的执行文件和帮助文档位置,无法搜索文件位置

[sysadmin@server3 ~]$ which ls
alias ls='ls --color=auto'
    /bin/ls

find搜索命令

命令格式 find + [搜索范围/路径] + [搜索条件]
如 find / -name install.log(/搜索整个根;-name以名字来搜索;install.log 文件名是install.log),这样搜索的过程非常缓慢,因为搜索整个根范围太广、文件过多,所以过程非常慢。

注意:

find /root -name "install.log*" #*会匹配头部是install.log的所有内容结果如下
/root/install.log  #不只匹配install.log
/root/install.log.syslog 
find /root -name "*" #*号后面什么都不写,就是匹配所有文件,返回的结果就是/root下的所有文件,包括隐藏文件
find /root -name "*[cd]" #代表匹配所有文件中以c或d结尾的文件
find /root -name "ab[cd]" #[]代表匹配中括号内任一字符,因此,这个命令就是搜索文件名为“ab”后面跟c或d的文件。
/root/abc
/root/abd

find命令

find /tmp -mtime +10 #查找十天前修改的内容
借助-exec选项与其他命令结合使用

搜索字符串命令grep

命令格式:grep+ [选项] 字符串 文件名
选项:

grep "size" anaconda-ks.cfg #在文件anaconda-ks.cfg中找包含“size”字符串的内容
grep -v "size" anaconda-ks.cfg #找出文件中没有“size”字符串的内容

find命令与grep命令的区别

第五课 帮助命令

帮助命令 man(manual)(Linux中最常用的命令)

第六课 压缩与解压命令

软件包在Linux系统中以红色显示

.zip格式压缩

命令格式:

zip longzls.zip longzls #压缩文件

mkdir jp #创建文件夹jp
touch jp/cangls
touch jp/longzls
touch jp/boduols
zip -r japan.zip japan #压缩目录
unzip longzls.zip #解压文件
unzip Japan.zip #解压目录,与文件格式完全一样

.gz格式压缩

命令格式:
1.压缩

gzip -c cangls > cangls.gz
gzip -r jp   #会挨个压缩jp目录下的所有文件,但是不会把所有压缩文件打包为一个压缩文件,只会把他们放在jp文件夹下

2.解压缩

.bz2格式压缩

命令格式:
压缩

解压

.tar.gz压缩格式

1.打包和解包命令tar
由于.gzip、.bz2格式压缩方式存在各种不方便,如.bz2不能压缩目录,.gzip则只能压缩目录下的子文件,但是不能压缩目录本身,另外两种方式都不能保留源文件,因此,我们可以 尝试采用.tar打包方式来进行压缩文件,方法是首先将想要压缩的文件或目录转为.tar格式,然后就可以将.tar文件再转为.gz或者.bz2格式了

命令格式:tar -cvf 打包文件名 源文件

tar -cvf longzls.tar longzls
gzip longzls.tar #会生成一个longzls.tar.gz文件

解包tar命令
命令格式:tar -xvf + [打包文件名]

gzip -d longzls.tar.gz #解压为longzls.tar格式
tar -xvf longzls.tar

2.一步将文件压缩为.tar.gz或.tar.bz2文件
由于使用tar中转进行压缩还是很麻烦,因此,可以再次进行简化,方法就是通过直接压缩为.tar.gz方式进行,不再专门生成.tar,直接生成.tar.gz格式。

命令格式:tar -zvf + 压缩包名.tar.gz + 源文件
选项:

解压命令格式:tar -zxvf 压缩包名.tar.gz
选项:

一步压缩为.tar.bz2格式同理

3.解压时解压到指定文件夹
命令格式:解压命令 + -C + [指定目录]
注意:C是大写

如:

tar -zxvf jp.tar.gz -C /tmp/ # 解压到tmp目录下
tar -jxvf jp.tar.bz2 -C /tmp/

4.同时压缩多个文件
命令格式:tar -zcvf [压缩包名.tar.gz] + [文件1] + [文件2]

5.仅查看压缩包
命令格式:tar -ztvf + [压缩包名.tar.gz]

tar -ztvf test.tar.gz

总结:Linux中比较常用的还是.tar.gz、.tar.bz2格式的压缩文件,因此,熟记这两类文件的压缩和解压方法,基本上就可以满足自己的各种需求了,再有额外的需要可以进行百度Google。

补充 .7z文件解压

.7z压缩文件在Linux系统中没有标准工具可以用来进行操作,因此,需要安装第三方的工具进行操作,这里我们使用的是p7zip

具体步骤来看:

第一步:安装p7zip命令
linux上安装7z命令有两种方式:在线安装和安装包安装。

1 在线安装
如果你的宿主机Linux可以连接外网,推荐用这种方式,方便简单(由于我的Linux服务器莫名的原因,我无法采用这个方法,小白一个,还不知道如何解决……)。执行命令:

sudo apt-get install p7zip
即可在线安装7z命令。

2 安装包安装
笔者采用的就是这个方法。
宿主机linux一般是X86的,而7z提供编译好了的bin包,可以很方便的安装。步骤如下:

如此,p7zip命令就可以在Linux上运行了

第二步:解压.7z文件

第七课 关机和重启命令

shutdown命令

命令格式:shutdown + [选项] + [时间]
选项:

时间:

其他关机命令

其他重启命令

系统运行级别

查看系统运行级别命令:runlevel

定义系统默认运行级别:cat /etc/inittab
id:3:initdefault:
修改默认运行级别:init +[3或5]
其他级别都不能选,因为这个是默认运行级别,一旦设为0关机或6重启,服务器就不能使用了

退出登录命令

命令格式:logout

第八课 Linux中挂载命令

挂载,可以理解为Windows当中的分配盘幅。

查询与自动挂载

1.查询系统中已经挂载的设备:mount
运行结果:
/dev/sda5 on / type ext4 (rw)

结果解释:
/dev:保存所有特殊设备即硬件设备目录
/sda5:sd代表stata或者scsi等服务器硬盘接口,a代表第一块硬盘,5指第一个逻辑分区,因此,sda5指的就是第一块硬盘的第一个逻辑分区。
/ :代表根分区
ext4:代表文件系统类型是ext4
这条命令的意思就是第一块stata硬盘的扩展分区的第一个逻辑分区是根分区,文件系统是ext4,权限是读和写。

补充:Linux对分区的编号
/dev/sda1 第一个主分区
/dev/sda2 第二个主分区
/dev/sda3 第三个主分区
/dev/sda4 扩展分区
/dev/sda5 第一个逻辑分区
/dev/sda6 第二个逻辑分区

2.自动挂载(依据的是配置文件/etc/fstab的内容):mount -a
结果就是会将fstab文件中注明的文件全部挂载一遍。

挂载命令格式

命令格式:mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:

补充:Linux中写脚本文件(.sh),第一行规定必须写 #!/bin/bash,意思就是告诉系统,这一行以下都是Linux的脚本。

挂载光盘

1.第一步:建立挂载点
命令格式:mkdir + /mnt/cdroom/

2.第二步:挂载光盘
命令格式:mount -t iso9660 /dev/sr0 /mnt/cdroom

挂载光盘可以简写为:mount /dev/sr0 /mnt/cdroom,这是由于系统默认知道光盘文件系统是iso9660

卸载挂载盘

命令格式:umount 设备文件名或者挂载点

umount /mnt/cdroom #提醒:卸载前必须保证当前目录不是cdroom

挂载U盘

第一步:查看U盘设备文件名
命令格式: fdisk -l

第二步:挂载U盘
命令:mount -t vfat /dev/sdb1 /mnt/usb/

注意:Linux默认是不支持NTFS文件系统的,解决方法是可以下载一个NTFS-3g的程序,下载以后就可以挂载了,但是文件属性是只读,不能写入

用户登录查看命令

查看用户登录信息命令:w
简化查看用户信息:who

命令输出说明:
IDLE:用户闲置时间

JCPU:所有进程占用时间
PCPU:当前进程占用时间
以上数字越大表示系统负荷越重

查看当前登录和过去登录的用户信息命令:last

命令输出:
用户名
登录终端
登录IP
登录时间
退出时间(在线时间)

第九课 shell概述

shell是什么?

shell的分类

查看当前计算机的shell类型:echp $SHELL

查看Linux支持的shell类型:vi /etc/shells
返回结果:

/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/dash
/bin/zsh
/bin/mksh
/bin/ksh

转换或调用shell类型,只需要将shell类型直接输入就行,如想用tcsh,直接键入tcsh,就进入了tcsh类型,退出输入exit

脚本的执行方式

1.echo输出命令
作用是把指定内容输出到屏幕上(输出内容有空格就需要给内容加上双引号)

控制字符 作用
\a 发出警告声
\b 删除前一个字符
\c 最后不加上换行符号
\f 换行但光标仍旧停留在原来的位置
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入tab
\v 与\f相同(换行)
\ 插入\字符
\0nnn 插入(八进制)所代表的ASCII字符。其中0为数字零,nnn是三位八进制数
\xhh 按照十六进制ASSII码表输出字符。其中hh是两位十六进制符

文字着色
\e[1;31m 将颜色设置为红色
\e[0m 将颜色重新置回

颜色码(字体本身):重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
字体背景着色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

来自: http://man.linuxde.net/echo

例如:

[sysadmin@server3 ~]$ echo -e "\t天\t王\n盖\t地\t虎\t"
    天   王
盖   地   虎   

[sysadmin@server3 ~]$ echo -e "\x68\t\x65\t\x6c\n\x6c\t\x6f"
h   e   l
l   o

[sysadmin@server3 ~]$ echo -e "\e[1;32m 天王盖地虎 \e[0m"
 天王盖地虎 # 结果为绿色

2.第一个脚本

Bash的基本功能

1.命令别名与快捷键

但是alias这种设置放法在系统重启后就会失效。

2.别名永久生效与删除别名
方法:写入环境变量配置文件

命令生效顺序命令生效顺序

历史命令

方法一:↑↓箭头进行历史命令使用
方法二:history
查看历史命令只需键入history即可。
命令格式:history [选项] + [历史命令保存文件]
选项:

历史命令的调用
- 使用上下箭头调用以前的历史命令(常用)
- 使用 "!n" 重复执行第n条历史命令
- 使用 "!!" 重复执行上一条命令
- 使用 "!字符串" 重复执行最后一条以该字串开头的命令(常用)

输出重定向

标准输出重定向和标准错误输出重定向标准输出重定向和标准错误输出重定向

注意:
标准错误输出时 "2>文件"和"2>>文件" 都是没有空格的

如何让系统同时记录标准输出和标准错误输出如何让系统同时记录标准输出和标准错误输出

注意:涉及标准错误输出时命令无空格

管道符

1.多命令顺序执行

多命令顺序执行中命令之间的逻辑关系多命令顺序执行中命令之间的逻辑关系

2.管道符
命令格式:命令1 | 命令2
命令1的正确输出作为命令2的操作对象
案例:

ll -a /etc/ | more

netstat -an | grep "ESTABLISHED"
上一篇 下一篇

猜你喜欢

热点阅读