常用终端命令:
ls:查看文件夹下的内容
ls -a:查看多有文件包括隐藏文件;以.开头的就是隐藏文件
ls -l :以列表的形式显示所有的文件信息
ls -l -h :以人性化的方式输出
ls -d :只输出目录本身
-n : 列出UID和GID,和群组名称
-t :按时间排序
【–color=auto】
快捷键:ctrl+shift+‘+’方大窗口字体,ctrl+‘—’缩小
*:代表任意个字符
?:戴白哦一个字符
[]:表示可以匹配字符组中的任一一个
[abc]:匹配a,b,c中的任意一个
[a-f]:匹配从a到f范围内的任意一个
举例: ls 1*.txt:查询以1开头的文件 ls 1?1.txt ls
pwd:查看当前所在的文件夹
cd[ 目录名]:切换文件夹
touch可以创建新的文件名
mtime:modifytime 文件内容变更时间
ctime: status time 权限属性变更时间
atime: access time 文件内容被读取的时间
如果文件不存在,新建文件 gedit 文件名 文本文档的形式编辑
-a: access time
-c: 仅修改文件时间
-d:后面可接修订日期 ,也可用 --date=“time”
-m:仅修改时间,格式[YYYYMMDDHHmm]
mkdir[目录名]:创建目录
rm[文件]:删除指定的文件名
-f:就是强制删除
-i :有一次机会 回答y真删
-r:直接删掉整个文件夹
clear:清屏幕
在敲文件名或目录名时,敲出前几个字母+一个tab键,系统自动补全命令
cd + “-” : 切换到上一次使用cd命令前的目录
cd + … :就是回到上级目录,一个.表示当前目录,两个.表示上一级目录
tree:将文件夹以树状图的形式展现出来 当前目录路径 ./
tree -L 3/yinhan/ 显示yinhan目录下三级目录树
正规文件(regular file): 纯文本、二进制、数据格式文件
目录(directory)
链接文件(link)
设备文件(device)
数据接口文件(socket2)
拷贝文件命令:
cp 源文件路径 新文件路径
-a:复制目录时使用(保留文件原有属性)
-f:已经存在的目标文件而不提示(强制)
-v:显示拷贝过程
-p: 连同文件的属性(权限,用户,时间)
-i :交互式复制,覆盖时有提醒用户
-r:如果是一个目录的文件,将递归复制该目录下的子目录和文件
例:cp ./a.txt a/a.txt 从当前目录拷贝a.txt到a目录下 cp a.txt b/a 拷贝到b目录下的a文件夹
不写文件路径,默认当前文件路径
移动命令:mv 原位置路径 目标路径
mv 1.txt c /1.txt
**-f **:强制
-i 和前面一样
移动的时候不需要 -r
重命名:mv 1.txat 1.txt 将1.txat改名为1.txt
文件拥有者:
多个人共同使用主机来进行工作,考虑每个人的隐私权以及每个人喜好的工作环境。
只有把文件权限设置成文件的拥有者,才能进行查看。
群组
群组是用户的集合
每个组都分配了一个唯一的组ID号(GID)
标准组:创建文件要指定它的组
私有组:私有组只有用户自己,防止新文件分配到公共组里面
例子:王大毛家和张小猪家
王大毛家就是一个群组,三兄弟就是三个使用者,三个使用者在同一个群组里面。
三个使用者虽然在同一个群组内,但是我们可以设置权限,好让某些使用者个人的信息不被群组的拥有者查询,以保护个人隐私。
张小猪家又是另外一个群组。张小猪无法进行王家,除法张小猪和王大毛认识。
三种身份:
超级管理员:
在系统上的任务是对,普通用户和整个系统进行管理。
useradd [选项] 用户名
usermod
userdel
groupadd
groupmod
groupdel
设置密码时效:
十位字母代表文件权限:-type --- --- ---
【d】: 目录
【-】:文件
【I】:链接文件
【b】:设备文件里面的周边设备(随机存取文件)
【c】:设备文件里面的外界设备(鼠标、键盘)
接下来3个字符一组
第一组:拥有者权限 ; 第二组:同群组使用者权限 ; 第三组:其他使用者权限
rwx:可读可写可执行 ,没有某个权限用【-】代替
例题:drwxr-xr--
- 文件拥有者rwx可进行任何操作
- 同组使用者权限:rx ,可以进入目录进行工作,但不能修改
- 其他人权限:r ,虽然有可读权限,但是没有x权限无法进入此目录
表示有多少文件名链接到此节点(i-node)
每个文件的权限和属性都会记录到文件系统的i-node中,但是目录树却使用文件名来记录,因此每一个文件名就是一个i-node。也就是说,一个i-node会链接多个文件名和对应的文件的属性
表示文件的(目录)的拥有者
文件的所属群组
文件容量大小,默认Bytes
文件的创建日期或者最近的修改日期 ls -l – full-time
这个文件的文件名,文件名前多一个.表示隐藏文件
change group,要改变的群组必须在/etc/group里面存在
chgrp [-R] 新群组名 被更改文件名
-R:进行递归变更,该目录下所有文件都变更
数字类型改变文件权限:
文件的基本权限就只有9个,owner/group/others 三种身份和对应的 read/write/execute
r: 可以查询目录下的文件
w: 对目录和目录下的文件,可增删改查
x: 能否进入目录进行工作
九个权限3个3个一组[rwx] [rwx] [rwx]
权限对应的分数:
r:4 w:w x:1
例如:[-rwxrwx—]的分数
owner:rwx = 4+2+1 =7 group: rwx = 4+2+1 =7 others: --- = 0 ls -al :查看文件权限 chmod 777(改变后的权限) filename
如果文件不希望被别人看见 , 权限分数:740
vim编辑一个shell文件处理后,权限一般是-rw-rw-r-- :664
变成可执行文件且不让他人修改:-rwxr-xr-x :755
umask: 数字形式查看权限
umask -S: 文字形式查看权限
umaks 【三位数字组合】 :当前权限减去umask指定权限
umask 002 : 777 - 002 = 775 drwxrwxr-x
符号类型:
u: owner
g:group
o: other
a:all 所有权限
chmod u=rwx,g=rx,o=rwx
+:加上权限
-:减去权限
chmod a+w filename
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ljX9dSCH-1673159921488)(C:%5CUsers%5C%E9%93%B6%E6%99%97%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1646875396466.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o9GVweV7-1673159921491)(C:%5CUsers%5C%E9%93%B6%E6%99%97%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1646880671044.png)]
chattr +i 文件名 :添加i属性
chattr -i 文件名 :删除i属性
lsattr :显示文件隐藏属性
-a 显示隐藏文件属性
-d 仅显示目录属性
-R 显示子目录属性
SUID: set user ID
-rws-xr-x
s出现在user权限组位置
SGID: 同理 , s出现在group权限组位置
-rwx--s--x
SBIT:
如何设置特殊权限:
在原来的9位权限码之前再加一位,只加一位!!! 421的组合
-rwxr-xr-x(755) 改为 -rws r-x r-x (4755) chmod 4755 filename
符号:
chmod 0+s/g+s/u+s filename
进入目录权限:
使用者要进入目录,必须要有x权限
有x权限可使用cd等变换工作目录命令
想ls查阅文件名,还得有r权限
读取文件权限:
比如cat,less,more 等等
目录权限必须要有x,文件权限必须有r
修改文件权限:
nano和vim编译器
目录权限:x
文件权限:r和x
创建目录权限:
w和x
进入目录并执行该目录下的文件:
目录权限:x
文件权限:x
日期日历指令:cal 显示日历 -3:显示系统前一个月,当前月,下一个月的日历 -y:一年的日历
-j :显示是当前年的第几天 cal+年份 就是显示哪一年的日历
显示当前时间:date 格式化输出 “+%Y年%m月%d日%H时%M分%S秒” %F就是年月日,%T直接显示时钟
历史指定:history:查看历史指令 !历史指令编号 -->执行历史命令
history +数字 :就是显示最近的多少条命令
mtime: 最后修改时间(ls -lt)
ctime: 状态改变时间(ls -lc)
atime:最后访问时间(ls -la)
file [选项] 文件名 查看文件的类型
stat[选项] 文件名 查看文件的所有信息
od [-t TYPE] 文件名
TYPE参数选项
cat/tac:文件查看或合并文件内容
-n: 查看文件并给每一行一个编号
-b: 就不给空行编号 -s:遇到两个以上的空白只显示1行
-sb:不给空行编号而且遇到两个以上的空白只显示1行
连接文件(就是一下打开多个文件查看):cat -sb 1.txt 2.txt
cat与head联用
cat -n 文件名 |head -n 20 |tail -n 10
nl: 添加行号打印
-b a : 带空行
-b t : 空行不带序号
-n :显示位置 ln/rn/rz 左右(z加0)
more:分页查看文件内容
有时信息过长无法显示在一屏上时,会出现快速滚屏,使得用户无法看清文件,
此时可以使用more命令,每次只显示一页,
- 按下空格键可以向下翻一页
- b:往回翻页
- :f 立即显示文件名和当前所在行数
- 按下q健退出
- /字串 :向下搜寻这个字串
- 按下h键可以获取帮助
‘+’ 数字:从第几行开始查看,例more +5:从第五行开始
-p:先清屏再显示文件内容
-s:当两个以上的空行,换成一行空白
Ctrl +F 向下滚动一屏 +B返回上一屏
以行为单位对文本文件进行排序
wc [文件名]
-c, --bytes print the byte counts
-m, --chars print the character counts
-l, --lines print the newline counts
–files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-L, --max-line-length 显示最长行的长度
-w, --words 显示单词计数
–help 显示此帮助信息并退出
–version 显示版本信息并退出
按照FHS规则来配置目录 FHS(FileSystem Hierarchy Standard)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gDl8FMxC-1673159921492)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220317_091850.jpg)]
目录 | 放置的文件 |
---|---|
/bin | 放置系统常用可执行文件 |
/boot | 放置开机所需文件 |
/dev | 设备和周边设备 |
/etc | 系统配置文件,如密码,服务的起始档 |
/lib | 开机使用的函数库 |
/media | 可移动设备 |
/mnt | 挂载的额外设备 |
/opt | 放置第三方软件 |
/run | 放置开机后产生的信息 |
/sbin | 设置系统环境的的命令 |
/srv | 网络服务产生的数据 |
/tmp | 一般使用者或正在运行的程序暂时放置文件的地方 |
/usr | Unix SoftWare Resource |
/var | |
/home | 使用者的主文件夹 |
/lib | 存放二进制函数 |
/lost | 系统发生错误,遗失片段放在这里 |
/proc | 虚拟文件系统,记录内存 |
/sys | 虚拟文件系统,记录系统硬件信息 |
系统运行后,变动的文件产生的信息,会逐渐占用硬盘的目录
/var/cache/ | 应用程序本身运行过程中产生的一些暂存盘 |
---|---|
/var/lib/ | 程序本身运行的过程中,需要使用到的文件目录 |
/var/lock/ | 两个程序同时使用一个程序,会上锁 |
/var/log/ | 放置登录文件的目录! /var/log/messages |
/var/mail/ | |
/var/run/ | 程序或服务启动后,放置他们的pid |
/var/spool/ | 放置排队等待其他程序使用的数据 |
磁盘的组成:
磁盘基本概念:
磁盘有一圈一圈的磁道组成
磁针一圈一圈的去读
平均寻道时间:指磁头从得到指令到寻找到数据所在磁道的时间,描述硬盘读取数据的能力
数据传输率: 从硬盘缓存向外输出数据的速度
高速缓存:缓存是数据的临时寄存器,主要用来缓解速度差和实现数据的预存取
常见文件系统:
Windows:FAT(FAT16), NTFS
Linux:Ext2 , windows不支持ext2
一个分区就是只能够被格式化为一个文件系统,所以说一个filesystem就是一个分区,但是寻找一个分区可以被格式化为多个文件系统(LVM)
接口类型:
SAS:
文件系统的区块:
索引式文件系统:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RW7klfCL-1673159921494)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_081453.jpg)]
这种数据存取方法称为:索引式文件系统
FAT文件系统:
常用的U盘(闪存盘)的文件系统为FAT格式,FAT这种文件格式没有inode存在,所以没有办法一次性把所有block取出来,只能一个一个按照存储的号码记录来读(类似于指针)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-luMkyGSz-1673159921495)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_082705.jpg)]
安装系统的时候系统管理员要当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值
某个分区空间耗尽时:
分区工具:
fdisk <硬盘设备名> 、parted 【】<设备>
容量:
df: 列出文件系统的整体磁盘使用量
du:评估文件系统的磁盘使用量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NwUkQbHb-1673159921496)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_084120.jpg)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bbFGpBjk-1673159921498)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_084346.jpg)]
lsblk :列出系统上所有的磁盘列表
lsblk -ip /目录名 列出该目录下所有完整设备名
blkid :列出设备的UUID等参数
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9A6vzQUK-1673159921500)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_092358.jpg)]
先lsblk和 blkid找到磁盘 , 再parted dev/xxx print 找到内部分区表的类型 ,再用gdisk和fdisk进行分区
记得退出用q别用w
Centos默认使用xfs , make filesystem
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BUlJtPZK-1673159921501)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_092939.jpg)]
mkfs.ext4
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7QVNuvLS-1673159921503)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_093344.jpg)]
系统运行时发生死机,会发生文件的错乱,还可以挽救
检查与修正文件系统:
xds_repair [-fnd] 设备名称
fsck.ext4 [-pf] 设备名称
挂载点就是目录,目录时进入磁盘分区(文件系统)的入口
挂载命令mount :
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-48rDG9qO-1673159921504)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_094327.jpg)]
卸载:umount 设备文件名或者挂载点
xfs_admin 修改xfs文件系统:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sfk0H5x3-1673159921505)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_094946.jpg)]
可以一行命令完成新建分区
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y0sk6gdr-1673159921507)(D:%5CHuawei%20Share%5CHuawei%20Share%5CScreenshot_20220324_101743.jpg)]
parted /dev/vda unit mb print 同一start和end的容量单位为mb
LVM是逻辑卷管理的简称,是Linux环境下对磁盘分区进行管理的一种机制。它是建立在硬盘或分区上的一个逻辑层,为文件系统布局,从而提
高磁盘分区管理的灵活性。
物理卷:在LVM系统最底层
每一个物理卷都会被划分为基本的单元,称为PE ,具有唯一编号的PE是可以被LVM寻址的最小存储单元
创建物理卷: pvcreate <磁盘或者分区名>
创建卷组:vgcreate <卷组名> <物理卷设备名>
创建逻辑卷:lvcreate <逻辑卷名> <卷组名>
数据流、管道:重定向 例子:echo“ xxxxx” > helloworld.txt就是将屏幕上的输出重新定向到txt文本文件中
管道呢就是将上一个命令的输出用到下一个命令的输入:指令1|指令2 而且指令1必须有输出
例子:ls -h \ | more
建立链接文件:ln 分为软链接(快捷方式)硬链接(多个名字)
软链接:ln -s 源文件名 链接文件名 硬链接:ln 源文件 链接文件
删除就是 rm 软链接名 但是硬链接删了还能打开源文件
文件搜索 grep:在文件内部内容搜索
grep [-选项] ‘搜索内容串’ 文件名 例:grep ‘worker’ test.txt
-i :不管大小写 -n :输出内容在哪一行 -v :取反(不包含你输入的内容)
‘搜索内容字符串可以用正则表达式’
find:计算机内文件搜索
find [路径] 【选项】【名称】
时间参数:
-[m/a/c]time n : [+/-]n为时间 , 向前向后
-newer file :file是文件名,找出比file这个文件更新的文件
使用者或群组参数
-uid n: 用户id搜索
-gid n: 群组id搜索
-user/group 名字:找用户拥有的文件
-no[user/group] : 找没有归属者的文件
文件权限及名称有关参数
-name 文件名:按照文件名搜寻
-size [±] 文件大小: 按照文件大小搜寻
-type 文件类型 :按照文件类型搜寻
类型:
-perm mode :按照权限查找,mode是权限值(如0755) mode前面啥都不加找权限刚刚好的,加- 权限大于mode的,加/ 找小于mode权限的文件
命令的最后可加额外的动作
find ./ -name 文件名 find ./ -name ‘*.sh’ 搜索以.sh为后缀的文件
find ./ -size +30M 找大于30M的文件 -30M 小于30M的文件
find ./ -size +15M -size -30M 找15M到30M之间的文件
归档和压缩:就是把多个文件打包成一个包
归档管理:
tar [参数] 打包文件名 文件1 文件2 目录归档:tar [参数] 打包文件名 目录
-c :生成档案文件,创建打包文件 -v:列出归档解档的详细过程,显示进度
-f :指定档案文件名称 f后面一定是.tar文件,使用必须放选项最后 -x :解开档案文件
归档压缩 tar -zcvf 1.txt 2.txt 解压(多个z)解档:tar -(z)xvf
gzip 压缩或解压文件或目录,压缩文件后缀为gz
bzip2 压缩或解压文件或目录,压缩文件后缀为bz2
xz 压缩或解压文件或目录,压缩文件后缀为xz
su:切换用户 passwd:修改用户密码 exit:退出用户登录 who:查看登录用户
sudo:临时提升权限 su root:切换超级管理员
关机重启:
reboot 重启
shutdown -r now 立即重启
shutdown -h now 立刻关机
shutdown -h 20:20 设置时间
shutdown -h +10 系统再过10分钟关机
shutdown -c 取消关机
命令 | 信息 |
---|---|
LABG=C lscpu | 显示CPU信息 |
lsblk | 显示块设备 |
lsblk -f | 显示文件系统 |
yum repolist | 查看已启用的软件更新源 |
timedatectl | 查看日期和时间 |
homenamectl | 显示主机名 |
ip addr show | 显示网络接口参数 |
ip route show | 显示路由信息 |
就是一个文本编辑器,不能对字体、格式、段落进行编排
方式 | 说明 |
---|---|
vi | 默认 |
vi filename | 新建文件,光标置于行首 |
vi n filename | 打开文件,光标置于第n行行首 |
vi filename | 打开文件,光标置于行尾 |
vi /pattern filename | 打开文件,光标置于第一个与pattern匹配的串处 |
vi -r filename | 打开上次用vi编辑时发生系统崩溃的文件,并恢复 |
a,i,o键:进入输入模式
Esc:命令模式 :进入末行模式 w保存 wq保存并退出
大写I在行首插入,大写A行尾插入,大写O下一行插入空白行,jj自动取开头,JJ自动末尾
H:开头 L:末尾 M:中间
命令 | 说明 |
---|---|
i | 当前位置插入文本 |
I | 在行首插入 |
a | 光标当前所在位置之后追加新文本 |
A | 行尾插入 |
o | 光标下面新开一行,光标置于行首 |
O | 光标上面插入一行并置于行首 |
命令 | 说明 |
---|---|
n+ | 光标下移n行 |
n- | 光标上移n行 |
0 | 所在行的行首 |
$ | 所在行的行尾 |
^ | 所在行第一个字符 |
命令 | 说明 |
---|---|
yy | 当前行复制到缓冲区 |
nyy | 往下n行复制到缓冲区 |
yG | 将当前位置到最后一行的所有内容复制到缓冲区 |
y1G | 将当前位置到第一行的所有内容复制到缓冲区 |
y$ | 光标到当前行末尾 |
y0 | 光标到当前行开头 |
p | 粘贴 |
命令 | 说明 |
---|---|
/str | 往右移动移动到有str |
?str | 往左 |
n | 相同方向 |
N | 相反方向 |
u | 恢复之前的状态 |
---|---|
. | 再次执行上一次完成的命令 |
每一个命令都返回一个0值,命令出错返回一个非0值
网络接口类型:
接口类型 | 名称 | 说明 |
---|---|---|
以太网接口 | ethX | 最常用的网络接口 |
无线网络接口 | whanX | 无线局域网络接口 |
光纤分布式数据接口 | fddiX | FDDI接口设备昂贵,通常用于核心网或高速网络中 |
点对点协议接口 | pppX | 用于Modem和ADSL拨号网络,或基于PPTP协议的VPN |
本地回环接口 | lo | 用于支持UNIX Domain Socket 技术的进程相互通信(IPC) |
其中名称中的X就是编号,用来区分鉴别网络接口设备名
网络设备名:
前缀名 | 设备 |
---|---|
en | 以太网设备 |
wl | 无线局域网设备 |
ww | 无线广域网设备 |
o | 主板板载设备 |
s | 热插拔插槽上的设备 |
p | PCI总线或USB设备 |
eno16777736 | 板载的以太网设备(设备编号为16777736) |
enp0s8 | PCI接口的以太网设备(PCI总线地址为0,插槽编号为8) |
wlp12s0 | PCI接口的无线以太网设备(PCI总线地址为12,插槽编号为0) |
临时性网络配置:
持久性网络配置:
1.显示网络参数
ip addr show / ip a s 显示全部接口的IP地址
ip addr show eno16777736【设备编号】
ip -s link show [设备编号]/ ip -s l s 显示全部接口的传输统计信息
ip route show /ip r s 显示路由信息
ip neighbor show /ip n s
2.更改网络
ip addr [addr/del] 【ip地址】 dev 【设备名】
#例:/24是子网掩码
ip addr add/del 192.168.140/24 dev eth1
3.设置静态路由
ip route [add/del] default [地址] via [网关地址] dev [流出设备接口]
ip route add 192.0.2.1 via 10.0.0.1 dev eth0
映射,A->B 一一对应起来
配置文件名 | 功能 |
---|---|
etc/sysconfig/network-scripts/ifcfg-* | 网络接口配置文件 |
etc/sysconfig/network-scripts/route-* | 网络接口路由配置文件 |
/etc/hostname | 本地主机名配置文件 |
/etc/networks | 主机名映射为ip地址的解析功能 |
/etc/hosts | 完成域名与网络地址(网络id)的映射,把这俩一一对应起来 |
/etc/host.conf | 配置域名服务端的控制文件 |
/etc/resolv.conf | 配置域名服务客户端的配置文件,用于指定域名服务器的位置 |
/etc/protocols | 获知Linux支持的协议和各个协议支持的协议号 |
/etc/services | 获知Linux支持的网络服务及其端口号 |
网络接口的静态路由配置文件:
192.168.2.0/24 via 172.16.10.88 关联之后,用172.16.10.88打开192.168.2.0
本地域名解析配置文件:
用域名关联ip地址,soho是别名
192.168.1.200 soho.mylabs.me soho 操作后可用 soho打开192.168.1.200
远程域名解析器:
nameserver:DNS服务器,最多指定3个
nameserver:
nameserver:
domain:指定默认的搜索域
search: 指定默认的搜索域
配置域名解析顺序:
order hosts,bind
先查找/etc/hosts文件进行域名解析,然后使用/etc/resolv.conf文件指定域名服务
ipconfig: 检测网络接口配置
route:检测路由配置
ping:检测网络联通性
ss:查看套接字信息
lsof:查看指定IP和端口进程的运行情况
traceroute:检测到目的主机经过的路由器
dig:测试DNS服务器能否正常工作
1.ping命令
ping www.sina.con.cn
2.ss命令
ss -a
ss -l
显示TCP Socket
ss -t
ss -ta
ss -tl
3.lsof命令
lsof -i:22
lsof [email protected] 察看指定IP使用的端口
4.traceroute命令
tarceroute www.sina.com.cn
5.dig命令
dig ls-al.me
dig @202.106.196.115 g.cn 向指定的DNS服务器查询g.cn的IP地址
telnet
ftp/lftp/ncftp
smbclient:类似ftp
wget:下载文件、镜像WEB
rsync:远程文件同步
links/w3m/lynx:浏览器
ssh/scp/sftp :远程登录
1.lftp命令:
lftp [-p port] [-u user] [-e cmd] [site]
-p: 指定连接的端口
-u: 指定的用户名或口令进行FTP身份验证
-e: cmd执行子命令
site: 指定主机名、URL
lftp是一个交互式下使用lftp,有非常多子命令可用 ,远程文件目录操作,上传/下载,站点镜像
2.wget命令
wget是Linux下常用的下载和镜像工具
3.links/w3m 浏览器
Linux下常用的字符界面浏览器
4.rsync工具
远程数据同步工具
1.ssh命令
ssh [-p/v/q] [-l login_name][hostname|[username@]hostname][command]
ssh -l osmond 192.168.0.100 登录
2.scp 命令
基于SSH协议在本地主机和远程主机之间复制文件的客户端
scp [-r/p/c] [user@host:remotefile] locfile
scp [-r/p/c] localfile [user@host:remotefile]
3.sftp命令
加密传输
sftp [user@]host
sftp [email protected]
更新,安装,卸载,升级包的管理
包和包之间往往存在关联性,升级了这个又升级那个
YUM的优点:
- 自动解决包的依赖性问题
- 便于管理大量系统的更新问题
- 可以同时配置多个仓库
- 保持RPM数据库的一致性
- 有比较详细的日志
Linux上面的软件几乎都是经过GPL的授权,所以每个软件均提供源码
Linux软件使用流程:
Tarball的软件:
原始程序码:就是写满程序码的纯文本
所谓的Tarball文件就是将软件的所有源代码先以tar打包,然后再以压缩技术来压缩
近来bzip2和xz的压缩率较佳,所以bzip2和xz会取代gzip
软件构成:
如何安装与升级软件?
升级
安装
gcc hello.c
gcc编译后会产生a.out文件,也就是编译后的二进制文件,a.out是默认文件名
./a.out 运行编译好的二进制文件
主程序和副程序的编译:
在主程序里面可能会调用另外一个程序
比如在thanks.c 里面调用thanks_2.c
此时要进行程序的编译与链接
gcc -o thank thanks.c thanks_2.c
输出的二进制文件名为thank
运行:./thanks
gcc命令的参数
仅将源代码编译成为目标文件
在编译时产生最优化的执行速度
gcc -O -c ... ... -O:产生最优化参数
编译二进制文件时,将链接的函数库和相关路径填入
gcc sin.c -lm -L/lib -L/lib64
gcc -O hello hello.c -Wall
-Wall :产生更详细的编译过程信息,包括warning
调用外部函数库:
函数库放置的地方默认在 /lib,/lib64
例如从库中调用sin.c函数:
gcc sin.c -lm -L/lib -L/lib64
-l:加入某个函数库
m:则是libm.so这个函数库
-L:我要的libm.so这个函数库到 /lib或/lib64里面去找
头文件放置目录:
例如 #include 放置在/usr/include/stdio.h 下
如何不使用系统默认读取,命令这么写
gcc sin.c -lm -I/usr/include/stdio.h
make命令:
如果你要链接多个文件,gcc执行命令要写很长
而且你如果更改了其中一个文件,这时又要重新编译
vim makefile
main: main.o ... 一系列链接文件
gcc -o ...
然后执行make
makefile语法:
主程序名 :目标文件1 文件2
gcc -o 想创建的可执行文件 目标文件1 文件2
现在有main、和clean两个程序
编译执行:
make main
make clean main
避免makefile里面数据太多出错:使用shell script
vim makefile
LIBS = -lm
OBJS = main.0 haha.o
CFLAGS = -Wall
main: ${OBJS}
gcc -o main ${OBJS} ${LIBS}
clean:
rm -f main ${OBJS}
所以Tarball完整执行步骤:
安装建议:
利用patch更新源代码:
基本语法:patch -p数字 < 更新的文件名
-p数字,就是更新文件里面的第几行信息
gcc命令的参数
仅将源代码编译成为目标文件
在编译时产生最优化的执行速度
gcc -O -c ... ... -O:产生最优化参数
编译二进制文件时,将链接的函数库和相关路径填入
gcc sin.c -lm -L/lib -L/lib64
gcc -O hello hello.c -Wall
-Wall :产生更详细的编译过程信息,包括warning
调用外部函数库:
函数库放置的地方默认在 /lib,/lib64
例如从库中调用sin.c函数:
gcc sin.c -lm -L/lib -L/lib64
-l:加入某个函数库
m:则是libm.so这个函数库
-L:我要的libm.so这个函数库到 /lib或/lib64里面去找
头文件放置目录:
例如 #include 放置在/usr/include/stdio.h 下
如何不使用系统默认读取,命令这么写
gcc sin.c -lm -I/usr/include/stdio.h
make命令:
如果你要链接多个文件,gcc执行命令要写很长
而且你如果更改了其中一个文件,这时又要重新编译
vim makefile
main: main.o ... 一系列链接文件
gcc -o ...
然后执行make
makefile语法:
主程序名 :目标文件1 文件2
gcc -o 想创建的可执行文件 目标文件1 文件2
现在有main、和clean两个程序
编译执行:
make main
make clean main
避免makefile里面数据太多出错:使用shell script
vim makefile
LIBS = -lm
OBJS = main.0 haha.o
CFLAGS = -Wall
main: ${OBJS}
gcc -o main ${OBJS} ${LIBS}
clean:
rm -f main ${OBJS}
所以Tarball完整执行步骤:
安装建议:
利用patch更新源代码:
基本语法:patch -p数字 < 更新的文件名
-p数字,就是更新文件里面的第几行信息
更新完记得重新编译