linux系统之达人养成1linux1.docx
《linux系统之达人养成1linux1.docx》由会员分享,可在线阅读,更多相关《linux系统之达人养成1linux1.docx(19页珍藏版)》请在冰豆网上搜索。
![linux系统之达人养成1linux1.docx](https://file1.bdocx.com/fileroot1/2023-1/24/fde57528-2196-414c-918e-06febe434ebc/fde57528-2196-414c-918e-06febe434ebc1.gif)
linux系统之达人养成1linux1
linus常用命令--达人养成1
格式:
命令选项参数
1、-a是--all//不全是,分简化选项和完整选项,例如ls-a显示所有文件包括隐藏;ls-l显示详细信息,ls-lh人性化显示;ls-d显示目录属性;ls-s人性化显示文件大小;ls-i显示inode;
Inode显示的是文件的元信息;ls-l与ll等效
2、Block的概念一个block=n*一个扇区例如4K;incode记录的是文件原属性,大小占8k,个数是:
硬盘容量/8K;
3-rw-r--r--.1rr默认是10位;最后的“.”是ACL权限;“1”是引用计数;rr对应ug
-文件类型(-目录d文件l软连接)
rw-r--r--
u所有者g所属组o其他人
R读w写x执行
.开头的文件是隐藏的文件
4.mkdir-p【目录名】
-p递归创建//递归的意思是:
创建的目录下存在下一级目录
命令英文原意:
makedirectories
5changgedirectory切换目录
cd~与cd直接回车:
进入根目录pwd当前所在家目录
cd-进入上次目录cd..进入上一级目录cd.进入当前目录
6相对路径cd../home/front
绝对路径初学者尽量使用绝对路径cd/home/front/abc
Tab:
命令补全;可以识别命令与目录补全,按两下tab键。
7pwd
命令英文原意:
printworkingdirectory//打印工作目录
8rmdir目录名删除空目录
命令英文原意:
removeemptydirectories
rm-rf-r删除目录-f强制;rm-rf/删除根目录,较新的会删掉99%仍运行
rm-rf/tmp/*删除目录下的内容rm-rf/tmp/删除系统目录
被删除的数据不能被完整恢复!
!
9cp{-r-p-d-a}【原文件或目录】【目标目录】
-r复制目录,-p连带文件属性复制,-d若源文件是链接文件,则复制链接-a相当于-pdr
cp-r文件的时间是当前的cp-a完全复制所有属性,包括时间。
10mv{无-a-p的}【原文件】【目的文件】
同一目录做改名使用,不同目录做剪切改名
mv/wangning//home/wan
11一级目录的含义
/根目录/bin/boot
/dev/etc/home
/lib/mnt/media
根下binusr下bin是存放普通用户命令的;根下sbinusr下sbin是root专用的
/boot:
启动目录保存启动数据;dev:
特殊文件保存目录
/etc:
系统默认配置文件,学习服务时多次用到这个文件;
/home:
普通用户文件;root:
超级用户文件;
/lib:
函数库存放目录,需要时调用;
/media光盘mntU盘misc磁带机三个空目录挂在用;
/procsys不能直接操作,两个目录保存的是内存的挂载点;
/tmp临时目录,可存放临时文件等;
/usr系统软件资源目录;
/var系统可变文档目录;尽量不要在根目录搞文件;
12链接文件
ln-s【原文件】【目标文件】
命令英文原意:
link
功能描述:
生成链接文件
选项:
-s创建软链接
硬链接特征:
1拥有相同的i节点和存储block块,可以看做是同一个文件
2可以通过i节点识别
3不能垮分区
4不能针对目录使用
硬链接特征:
1类似于Windows快捷方式
2软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
3lrwxrwxrwxl软链接软链接文件权限都为rwxrwxrwx
4修改任意文件,另一个都改变
5删除原文件。
软链接不能使用
touch:
touchabc创建一个abc文件;echo111>>/root/wang:
对wang加一个值;
13文件查找命令
locate;whereswhich;find;grep;find与grep的区别
locate文件名//访问数据库查找且/var/lib/mlocate一天更新一次
解决方法执行updatedb更新数据库
缺点:
只能按照文件名查找tough/tmp/abc在updatedblocate会找不到abc
**/etc/update.conf配置文件
PRUNE_BIND_MOUNTS=”yes”#开启搜索限制
PRUNEFS=#搜索时,不搜索的文件系统
PRUNENAMES=#搜索时,不搜索的文件类型
PRUNEPATHS=#搜索时,不搜索的路径
14搜索命令的命令
whereiswhich
whereis{-b-m}命令名;-b:
只查找可执行文件,-m:
只查找帮助文件
whereisls//寻找ls命令在哪个目录下,及帮助文档在哪个目录下;
例如whoami、whatisls这些命令
whereis-bls,whereis-mls;//只能查系统命令所在地;
which
which文件名#搜索命令所在路径及别名;例aliasls=“ls--color=auto”
whereiscd、whichcd没有结果;cd是shell的命令;
echo$PATH//显示环境变量;自己写的脚本加绝对路径执行或加到变量里边;
15find
find搜索范围搜索条件#搜索文件
find/-nameinstall.log#避免大范围搜索会非常消耗系统资源
#find是在系统中搜索符合条件的文件名。
如果需要匹配,使用通配符匹配,通配符是完全匹配;
*匹配任意内容;?
匹配任意一个字符;【】匹配任意一个中括号内的字符;
find/root-name“*【cd】”//搜索以/root下以c或d结尾的文件;
注意:
用通配符要加双引号;
find/root-inameinstall.log#不区分大小写
find/root-userroot#按照所有者查询
find/root-nouser#查找没有所有者的文件,内核产生的文件没有所有者不经过系统,sys、proc例如内存目录;外来数据可能没所有者。
find/var/log/-mtime+10#查找10天前修改的文件
-10:
10天内的修改的文件;10:
10天当天修改的文件
atime:
文件访问时间;ctime:
改变文件属性;mtime修改文件内容
find.-size25k#查找文件大小是25KB的文件
-25k:
小于25KB的文件;25k:
等于25KB的文件;+25k:
大于25KB的文件
注意:
k级别用小写,M级别用大写;不带单位默认是数据块(扇区),此处区别于分区数据块概念;
find.-inum262422#查找i节点是262422的文件;此处可以与ls-i命令配合只用;
find/etc-size+20k-a-size-50k
#查找/etc/目录下,大于20kb并且小于50kb的文件
-aand逻辑与。
两个条件都满足;
-oor逻辑或。
两个条件满足一个即可;
find/etc-size+20k-a-size-50k-execls-lh{}\;
#查找/etc/目录下,大于20kb并且小于50kb的文件。
并显示详细信息
#-exec/-ok命令{}\;对搜索结果执行操作;
find/etc-size+20k-a-size-50k-execrm-rf{}\;
#查找的结果进行删除。
//-exec命令{}\;这是格式;
16grep
grep选项字符串文件名;#在文件中匹配符合条件的字符串;
-i忽略大小写;-v排除指定字符串;
区别:
find是找文件名;grep是找文件中的字符串;
17帮助
man命令与其他命令man是manual(文档)的缩写;
man命令#获取制定命令的帮助
manls查看ls的帮助
#1“查看命令的帮助”
2查看可被内核调用的函数的帮助
3查看函数和函数库的帮助
4查看特殊文件的帮助
5查看配置文件的帮助
6查看游戏的帮助
7查看其它杂项的帮助
8查看系统管理员可用命令的帮助
9查看内核相关文件的帮助
man-f相当于whereis
man-5passwd、man-4null、man-8ifcofig
man-k命令与apropos查找关于passwd所有相关的帮助
例如apropospasswd
18其他帮助命令
命令--help;ls--help
helpshell内部命令#获取内部命令权限
例如:
whereiscd#确定是否是shell命令
helpcd#获取内部命令帮助
Shell内部自带的命令
Info命令
回车:
进入子菜单页面(带有*号标记)
-u:
进入上层页面
-n:
进入下一个帮助小节
-p:
进入上一个帮助小节
-q:
退出
19压缩(带上扩展名,方面自己识别是压缩文件)压缩目录加-r
zip压缩文件名源文件
zip-r压缩文件名源目录//mkdir创建目录,tough创建文件
unzip解压文件/文件夹#解压缩文件/文件夹;windows下的zip可以在linus中解压,.rar不行;
gzip原文件#压缩为.gz格式的压缩文件,源文件会消失
gzip-c源文件.>压缩文件
#压缩为.gz格式,源文件保留
例如:
gzip-ccangls>cangls.gz
gzip-r目录
#压缩目录下所有的子文件,但是不能压缩目录;
gzip-d压缩文件#解压缩文件
gunzip压缩文件#解压缩目录下子文件夹
bzip2源文件#压缩为.bz2格式,不保留源文件。
bzip2-k源文件#压缩之后保留源文件
bzip2-d压缩文件#解压缩,-k保留压缩文件;
bunzip2压缩文件#解压缩,-k保留压缩文件;
注意:
bzip2命令不能压缩目录
20压缩
.tar.gz.tar.gz2
tar-cvf打包文件名源文件
选项:
-c打包-v显示过程-f指定打包后的文件名
例如tar-cvflongzls.tarlongzls
tar-xvflongzls.tar
其实.tar.gz格式是先打包为.tar格式,在压缩为.gz格式
选项-z:
压缩为.tar.gz格式
tar-zxvf压缩包.tar.gz
选项:
-x解压缩为.tar.gz格式
tar-zcvflongzls.tar.gzlongzls#直接打包压缩
tar-zxvflongzls.tar.gz#直接解包解压缩
tar-jcvflongzls.tar.bz2longzls#直接打包压缩
tar-jxvflongzls.tar.bz2#直接解包解压缩
tar-jxvflongzls.tar.bz2-c/tmp/#指定解压缩位置
tar-zcvf/tmp/longzls.tar.gzabcabcd#多个文件压缩在指定目录下;
tar-ztvf查看压缩包包含内容
注意:
不同格式用的-*会不同。
21重启
远程工具Xshell
shutdown选项时间//关机重启可保存,不至于丢失东西,shutdown更为保险;
其他关机方法会出现硬盘损坏等问题;
-t:
取消前一个关机命令;-h:
关机;-r:
重启;
例如:
shutdown-rnow
shutdown-r05:
30&//5:
30关机,并放入后台执行;
其他关机命令:
halt、poweroff、init0;不是太安全。
reboot、init6#重启命令
系统运行级别
0关机;1单用户;2不完全多用户,不含NFS服务;3完全多用户;4未分配;5图形界面;6重启;
runlevel//查看运行级别执行结果是:
N3//N表示之前是空级别,现在是3级别
cat/etc/inittab//查看运行级别
logout#退出登录
22linux其他常用命令
挂载命令:
用户登录查看和用户交互命令:
1查询与自动挂载
mount#查询已经挂载的设备
mount-a#依据配置文件/etc/fstab的内容,自动挂载;
mount【-t文件系统】【-o特殊选项】设备文件名挂载点
选项:
-t文件系统:
加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-o特殊选项:
可以指定挂载的额外选项
vihello.sh
#!
/bin/bash//这句话是标称以下是linux脚本
chmod755hello.sh
mount-oremount,noexec/home#重新挂载/boot分区,并使用noexec权限
#cd/home
#vihello.sh
#chmod755hello.sh
#./hello.sh
#mount-oremount,exec/home
注意因挂载选项的原因导致的权限的不足,noexec/exec//不执行与执行
挂载光盘
#mkdir/mnt/cdrom//建立挂载点
#mount-tiso9660/dev/cdrom/mnt/cdrom//挂载光盘
#mount/dev/sr0/mnt/cdrom//挂光盘可以省略-tiso9660
卸载光盘
#umount文件名或挂载点
#umount/mnt/cdrom//退出当前目录然后在卸载;
挂载U盘
#fdisk-l
#mount-tvfat/dev/sdb1/mnt/usb//fat32文件系统
注意:
linux默认是不支持NTFS文件系统的
查看用户登录信息
W用户名
USER:
登录的用户名TTY:
登录终端
FROM:
从哪个IP地址登录LOGIN@登录时间
IDLE:
用户闲置时间JCPU:
指的是和改终端连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所用的时间,
PCPU:
是指当前进程所占用的时间
WHAT:
当前正在运行的命令;
who用户名;命令输出(用户名、登录终端、登录时间;来源ip地址)
last//last命令默认是读取/var/log/wtmp文件数据
命令输出(用户名、登录终端、登录ip、登录时间、推出时(在线时间))
#ls/var/log/wtmp用last查看wtmp中的内容
#vi/var/log/wtmpvi命令直接打不开wtmp文件,此文件不能修改
lastlog//last命令默认是读取/var/log/lastlog文件数据
命令输出(用户名、登录终端、登录ip、最后一次登录时间)
Shell基础
一Shell基础
二脚本的执行方式
三Bash的基本功能
Shell是一个命令行解释器,它为用户提供了一个向linux内核发送请求以变运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。
Shell是解释执行的脚本语言,在shell中可以直接调用linux系统命令。
Shell的分类
BourneShell:
从1979年起Unix就开始使用BourneShell,BourneShell的主文件名为sh
CShell:
CShell主要是在BCD版本的Unis系统中使用,其语法和C语言相类似而得名;
Shell主要有两种语法类型有Bourne和C,这两种语法彼此不兼容。
Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:
csh、tcsh是UNIX使用的。
echo$SHELL//查看SHELL版本
Bash:
Bash与sh兼容,下载使用的就是使用Bash作为用户的基本Shell
vi/etc/shells//查看shells本机支持哪些shell
sh//回车后会显示sh-4.或其他版本
exit退出;csh界面执行后跟bash一样
怎么判定此刻在什么Shell之中?
父shell还有子shell?
期待后续讲解
#脚本执行方式
#echo输出命令//指定内容输出到屏幕上
echo【选项】【输出内容】
选项:
-e支持反斜线控制的字符转换
#echo“bolsandcanlswhichisbest”
-e能识别的字符
\a输出警告音\b退格键,也就是向左删除键
\n换行符\r回车键
\t制表符,tab键\v垂直制表符
\0nnn按照8禁止ASCII码表输出字符,其中0为数字零,nnn是三围8禁止数
\xhh按照16进制ASCII码表输出字符。
其中hh是两位16进制数。
例子:
echo-e”hello”echo-e“h\te\tl\nl\to\t”
Echo-e“\x68\t\x65\t\x6c\n\x6c\n\x6c\t\x6f\t”
#按照16进制同样输出
#echo-e“\e【1;31m家人就要嫁凤姐\e【0m”
“\e【1;”调用颜色并开启;”\e【0m”调用颜色并关闭颜色
3输出颜色
#30m=黑色,31m=红色,32m=绿色,33m=黄色,
#34m=蓝色,35m=洋红,36m=青色,37m=白色,
例子:
echo“嫁人就要嫁凤姐”//不能再引号里边加!
号
echo-e“嫁人就要嫁凤姐”
写一个脚本:
#vihello.sh
#!
/bin/bash//#代表注释不生效,但是除了本行之外;
#Thefirstprogram
#echo-e“\e[1;34m天上掉下个琳妹妹!
\e[0m”
例子:
vimhello.sh
#!
bin/bash
#这是第一个shell脚本
echo-e“天上掉下来个林妹妹”
写完后执行:
chmod755hello.sh./hello.sh或/root/hello.sh赋予权限后直接执行
bashhello.sh通过bash调用执行脚本
Bash的基本功能:
1命令别名与快捷键
2历史命令
3输出重定向
4多命令顺序执行
5Shell中的特殊符号
别名与快捷键#alias
输出aliascp=‘cp-i’aliasl.=‘ls-d’.*--color=auto’
aliasll=‘ls-l--color=auto’aliasmv=‘mv-i’
aliaswhich=‘alias|/usr/bin/which--tty-only--read-alias--show-dot--show-t‘
例子:
ls--color=never/用这个命令来修改alias
#aliasls=‘ls--color=never’
#alias查看是否已经加入的alias中
例如:
#aliasvi=‘vim’这是设定别名,临时生效,重启就消失
#vi~/.bashrc写入环境变量配置文件,不知这一个文件。
#vi/root/.bashrc进入这里边增加一行aliasvi=‘vim’
随之执行#source.bashrc或直接#aliasvi=‘vim’
unalias别名//删除别名,是临时删除,vi.bashrc彻底删除;
命令生效顺序:
第一顺序位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行Bash的内部命令//可以用whereis查一下
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令;
快捷键:
ctrl+c强制停止当前命令ctrl+l清屏ctrl+a光标移到到命令行首
ctrl+e到行尾ctrl+u从光标位置删到行首
ctrl+z命令放入后台ctrl+r在历史命令中搜索
clear与ctrl+l是清屏
历史命令
history【选项】【历史命令保存文件】//显示包括本次开机后的
选项-c清空历史命令
-w把缓存中的历史命令写入历史命令保存文件~/.bash_history
直接执行history显示历史命令、
#cat.bash_history//这里边存放的是本次开机之前的,-w同步
历史命令默认保存1000条,可以在环境变量配置文件/etc/profile中进行修改
历史命令的调用
使用上下箭头调用以前的历史命令
使用“!
n”重复执行第n条历史命令
使用“!
!
”重复执行上一条历史命令
使用“!
字符串”重复执行最后一条以改字串开头的命令
命令和文件的补全
在bash中,命令与文件补全是非常方便的与常用的功能,我们只要在输入命令或文件时
按住tab建就会自动进行补全
user//两次tab键可以列出user开头的所有命令,
注意命令补全是依赖$PATH变量;目录补全是依赖目录;
输出重定向(包括输入和输出)
标准输入设备只有键盘
键盘:
/dev/stdin文字描述符0标准输入
显示器/dev/sdtput1标准输出
显示器/dev/sdterr2标准错误输出
类型
符号
作用
标准输出重定向
命令>文件
以覆盖的方式,把命令的正确输出到指定的文件或设备当中
命令>>文件
以追加的方式,把命令的正确输出输出到指定的文件或设备中去
标准错误输出重定向
错误命令2>文件
以覆盖的方式,把错误的命令输出到指定的文件或设备当中,红字没有空格
错误命令2>>文件
以追加的方式,把错误的命令输出输出到指定的文件或设备中去,红字没有空格
正确输出和错误输出同时保存
命令>文件2>&1
以覆盖的方式,把正确和错误输出都保存到同一个文件夹中
命令>>文件2>&1
以追加的方式,把正确输出和错误输出都保存的同一文件夹中;死记硬背
命令&>文件
以覆盖的方式,把正确输出和错误输出都保存到同一文件夹中;
命令&