linux 系统命令.docx
- 文档编号:29250734
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:39
- 大小:38.75KB
linux 系统命令.docx
《linux 系统命令.docx》由会员分享,可在线阅读,更多相关《linux 系统命令.docx(39页珍藏版)》请在冰豆网上搜索。
linux系统命令
总结现学的所有命令(RH033),以及相关概念。
(一)
注:
所有的命令都用"【COMMAND】"的形式捕捉,查找相关命令的时候请用【?
】的形式查找。
方便准确。
=============================================================
【Linux】的【哲学思想】:
1.一切皆文件
2.Linux主要由短小,且目的单一的程序组成(所以一个命令一般只干一件事)
3.将多个短小的程序串联起来可以完成复杂的任务
4.尽量避免捕获用户接口(尽量避免跟用户进行接触,从发起-->回车,全自动,不需要用户再操作)
5.通过文件保存软件的配置信息(只需要一个简单的文本编辑器就可以操作整个系统)
=============================================================
【locale】命令:
查看所支持的语言编码
locale-a可以查看Linuxs所支持的所有语言的编码方式
-------------------------------------------------------
用【who】命令可以查看都有谁在。
用【tty】命令,可以看当前登录的是什么终端。
用“startx”+“&这个命令会在F7对应的位置上启动一个图形化的工作按钮
用startx--:
1:
1表示第一个图形化屏幕
startx--:
2这样的命令可以启动多个其他的图形界面
-------------------------------------------------------
按着shift+pgup或者pgdown可以实现上下翻屏,查看其他的内容
按Ctrl+Shift+C进行复制,
粘贴时是Ctrl+Shift+V
-------------------------------------------------------
在etc下的【inittab】文件,右键,使用文本编辑器
更改为id:
3就会在启动时变成字符界面
-------------------------------------------------------
【全局有效】的配置文件:
/etc/profile,
/etc/profile.d/*,
/etc/bashrc
【局部有效】的配置文件们:
~/.bash_profile
~/.bashre,
~/.bash_.logout
这些文件分两类,
1是profile类
通常是用来设置环境变量的。
用来运行一些命令的(用户登录时要执行的命令)
2是bashrc类
一般来讲是用来设置别名的
用于设置本地变量
shell对用户来讲,分为两大类。
1交互式登录式shell,以一个用户的身份登陆进去,你可以在这里面输入命令的这种登录
【读取次序】:
(越靠后优先级越高)
/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
2.非登录式shell:
当一个脚本系统能开机自动运行的shell
【运行次序】:
~/.bashrc-->/etc/bashrc-->/etc/profile.d/*
-------------------------------------------------------
【如何使修改后的登录设置立即有效】?
使用【source】命令,重读一下配置文件
source/etc/profile
使用“【.】”命令,重读一下配置文件
其实.=source
比如./etc/profile
不建议使用source,会影响到其他变量的使用。
-------------------------------------------------------
如何实现【用户管理】
1.什么是用户【User】:
是一个使用者获取系统资源的凭证,是权限的结合,为了识别界定每一个用户所能访问的资源及其服务的。
只是一种凭证。
会有一个表示数字,计算机会首先跟这个数字相匹配。
ID号。
一般来讲用户名是公开的。
还要有个一个验证机制,来验证用户就是那个它所声称的那个人。
(密码其实是最不可靠的方法)
2.什么是组【Group】:
一个组,可以识别是一个权限的集合,而且任何加入这个组的人都自动拥有这个组的权限。
计算机靠GID(组ID)来识别.
一个用户组也是有密码的。
一般的用户不能随便加入某个组中,需要用管理员协助。
密码的作用是让一个没有管理权限的用户临时的加入某组
组分成两种组:
(linux下任何一个用户必然会属于某一个组,即便没有分组,系统也会给你分一个跟你同名的组)
1.私有组:
这个里面只有一个用户,而且这个用户名跟组名同名。
也叫用户的基本组
2.公共组:
也叫共有组。
也叫用户的额外组,或者附加组。
一个用户可以同时拥有多个组。
UID,GID:
其实是保存为无符号十进制数,用十六位二进制表示,0~65535
UID,GID和UID的编号相同
管理员的ID号,永远为0(root)
id命令+用户,可以查看用户的id以及组。
1-499:
属于系统用户,让某个程序运行的时候能以某个用户的身份运行。
500-65534:
普通用户
65535:
Nobody特殊用户(也有可能是65536则,溢出,则为-1,相当于Guest,来宾账号)
3.什么是【权限】【Permission】
安全上下文:
SecureContext
一个进程发起的时候,这个进程所具有的权限,而一个进程所具有的权限跟用户所具有的权限是相关联的。
-rw--r-w--
rwx-t:
-为没有权限,r是读,w是写,x是执行。
t\
每三个是一组
第一组,属主rwx
第二组,属组rwx
第三组,其他人的权限rwx
文件中包含,
读r:
cat,more,查看
写w:
编辑文件
执行x:
能让文件运行起来的权限,默认普通文件都不具有执行权限
目录中
读:
ls,查看
写:
能够删除文件,新建文件.
执行:
能够cd进去ls-l来查看的权限
---:
0000
--x:
0011
-w-:
0102
-wx:
0113
r--:
1004
r-x:
1015
rw-:
1106
rwx:
1117
-------------------------------------------------------
Linux的文件类型:
1.普通文件
开头用“-”表示的
2.目录文件
开头用“d”表示的
3.符号链接文件(软连接文件)
开头用“l”表示
4.设备文件
块设备,用d表示。
按照随机存取。
通常一次存取一个块。
(硬盘)
字符设备,用c表示,通常按照线性(有顺序)的方式进行存储,一次存取的一个单位是字节。
比如键盘,鼠标显示器等。
字符存储是串行的。
5.套接字文件
开头用"s"表示
6.命令管道文件
开头用“p”表示
-------------------------------------------------------
【passwd信息】
-rw-r—r--1rootroot007-1822:
391.txt
第一段:
文件属性+后面9个字符,表示权限信息,每3位为一组。
第二段:
数字,表示为当前文件被硬链接的次数,一般目录是2次,普通文件是1次
第三段:
属主
第四段:
属组
第五段:
文件大小
dev文件下没有文件大小,是主设备号,和次设备号
第六段:
是时间,文件最后一次被修改的时间。
第七段:
文件的名称
-------------------------------------------------------
Linux常见的1级目录,作用以及功能。
/bin:
binary二进制目录,放的都是命令文件,二进制文件
/sbin:
管理命令superbin只有root权限才拥有的命令。
/boot:
引导目录,里面放的是系统引导文件,一般放内核,grub,驱动映射关系表,initrd(ramdesk)。
这里面任何一个文件的损坏都可能导致不能启动
/dev:
device,设备文件目录,也叫特殊文件目录(因为这些文件都没有大小,都为空,但却是访问设备的必备文件)
/etc:
配置文件目录,Linux把所有的配置信息都用文本文件保存,这个目录就是用来保存这些文件的。
/home:
普通用户的家目录。
任何用户都在,用户登录进来之后默认就储存的目录
/home/USERNAME
/lib:
library库文件目录,库文件是没有程序入口的,只能被其他程序调用的二进制文件。
/media,/mnt:
这是额外文件系统的挂载目录(目录和当前目录关联的过程,就叫挂载的过程)
/misc:
杂项,被动目录
/opt:
可选的,可选目录,一般作为第三方软件安装位置的目录。
/proc:
伪目录,假的,这是内核映像的映射,我们可以通过这个目录,跟内核中正在运行的参数打交道。
调优的时候要跟这个目录打交道。
/selinux:
安全加强linux的目录
/srv:
跟特定的服务器软件相关,服务器软件运行时所产生的数据文件,运行时临时产生的文件。
/sys:
system内核中硬件信息的映射,其实也是伪目录,比如磁盘的参数信息,键盘参数信息。
调优的时候要跟这个目录打交道。
/tmp:
临时文件目录,这个目录的文件通常每隔30天
/usr:
第三方软件,用户安装的软件,所生成的文件,都在这个目录下,帮助文档信息等等。
/var:
经常发生变化的文件所在的目录,如:
用户的邮件队列,临时的缓冲地址,日志文件,打印队列,锁文件等等。
-------------------------------------------------------
【用户信息】"gentoo:
x:
503:
503:
:
/home/gentoo:
/bin/bash"
用冒号分出了7段
第一段:
用户名
第二段:
x(密码),告诉你加密放在了另一段
第三段:
UID号
第四段:
GID(是用户所属的基本组的ID号,私有组)
第五段:
用户的全名(注释信息,COMMENT信息)可以为空
第六段:
用户的家目录
第七段:
用户默认使用的Shell,默认使用Bash。
在/bin下
/etc/shells目录下可以显示出所有可以允许用户使用的的shell
【用户密码】,Linux下默认必须有密码,保存在、/etc/shadow
当加入用户之后会有一行:
student:
$1$8kkXoZno$naC13rWnhoKfcMyiZr5qy9/:
15172:
0:
99999:
7:
:
:
第一段:
登录名
第二段:
加密后的密码(经过MD5散列加密的密码)
加密的方式:
对称加密
公钥加密
单项加密(主要目的在于提取数据的特征值,拿到一段数据可以提取这个数据的特征码。
)
特点有:
1.单项
2.雪崩效应(不管密码有多长,只要初始条件有一点点改动,结果将有巨大的变化)
3.定长输出(无论你输入有多长,而加密有的结果都是一样的。
)
经常用的单项加密是
MD5(128bit定长输出),sha1(160bit定长输出)
用户密码为“!
!
”指没有密码
“$1$8kkXoZno$naC13rWnhoKfcMyiZr5qy9/”
$1(代表是MD5算法)$杂质(盐)$内容
第三段:
最近一次修改密码的时间(天数,从1970年1月1日起,到上一次修改时间的天数。
)
第四段:
密码最短使用期限(天数,相对于上一次密码修改后的天数)
第五段:
密码最长使用期限,密码过期时间(天数)
第六段:
提前多少天提示用户密码快要过期了(天数)
第七段:
密码过期几天之后账号将被禁用(天数),如果已经即将过期,系统会强制让用户修改密码,否则不能登录
第八段:
用户账号使用期限(天数,绝对时间,能让你使用到从1970年1月1日之后多少天。
默认是99999)
第八段:
保留。
-------------------------------------------------------
如何使用【BASH】:
已经遇到的功能:
history
!
$,Alt+.,Esc+.
融合了ksh,csh的优势遵循GPL的shell
1.命令行编辑功能:
Ctrl+a:
直接跳到命令行的行首
Ctrl+e:
直接跳到命令行的行尾
Ctrl+u:
可以删除从光标开始一直到行首的内容
Ctrl+k:
可以删除光标开始处到行尾的内容
Ctrl+箭头:
可以左右一次跳一个单词
2.文件名通配:
让你可以一次性的快速引用多个文件,通配符
*:
任意长度的任意字符
比如ls*.log就是显示所有.log的文件
?
:
任意单个字符,只能匹配一位字符
[]:
匹配指定范围内的任意单个字符。
比如[a-z]则匹配任意一个小写字符
[abc]匹配任意其中的单个。
在括号里加
“^”表示取反
其他用法:
[0-9][a-zA-Z0-9]
[:
keyword:
]:
表示特定字符
比如[:
lower:
]全是小写字符
[:
alpha:
]所有字母
[:
digit:
]所有的数字0-9
[:
alpnum:
]
[:
space:
]
[:
punct:
]
[:
upper:
]
用mangrep可以查看详细用法
用法:
[[:
keyword:
]]
-+:
单目操作符,用来表示正负,也有别的用法。
也可以用来表示加减法运算
*/%:
!
~:
按位取反,取负的
<<>>:
表示二进制移位的。
比如:
二进制字符串10100让往右移一位
10100>>
<=
>=
<
>:
表示比较测试符
(
(1))<=((10))
==;!
=:
表示等于或者不等于
&:
按位进行与运算(转换成二进制,然后一个个进行与运算)
^:
按位取异或运算
|:
位或
&&:
逻辑或
||:
逻辑与
**:
次方运算
比如A=$[2**3]表示取2的3此方
id++:
先引用它的值再自加
++id:
先自加,后引用它的值。
表达式?
表达式1:
表达式2简单判断表达式。
判断表达式,可以则走表达式1,不可以则表达式2
表达式1,表达式2:
连接两个表达式
3.命令行补全和路径补全
命令补全:
(当你进行命令行补全的时候,他会到某些个特定路径下找一个最佳的跟你的user相匹配的命令并显示出来)
但是到哪些目录下去找命令呢?
echo$PATH
可以看到都有哪些路径
TAB键:
敲击可以补齐
敲击两次TAB:
当有多个时,可以查看都有哪些以这个开头的,相当于CCNA里的con?
路径补全:
(它不会去PATH下去找,而去目录下找。
他会到父目录下去找跟你有关的快速补全)
比如cd/etc/a?
4.括号展开:
~:
展开为对应用户的家目录。
比如cd~redhat
{}:
他能在命令行展开的时候展开为多个路径。
创建x/yx/zx/z/1x/z/2
则用:
mkdir-pvx/{y,z/{1,2}}
创建x/1x/2y/1y/2
则用mkdir-pv{x,y}_{1,2}“_”多项式展开(小学数学?
)
5.命令展开(命令扩展)
$():
把一个命令的执行结果当做参数传递给另一个命令
``:
(ESC下的那个键)跟上面意思是一样的,都表示命令引用
比如:
创建一个月日年小时分钟秒的文件名
mkdir-pv$(date"+%Y-%m-%d-%H-%M-%S")
比如:
ls-l`whichpasswd`
则引用了whichpasswd命令显示之后的内容。
然后将其内容进行ls
-------------------------------------------------------
【回顾系统变量】:
变量有4种类型:
1.【本地变量】。
对子shell是无效的
2.【环境变量】。
不但对当前shell有效,还对子shell有效的。
声明的时候一定要用export来声明,表示导出一个变量
exportA=3(直接导出)
或者
A=3
exportA
Bash为用户准备了许多变量,以支持用户来调用
系统中到底有哪些环境变量呢?
【export】不带任何选项的此命令,就能看出现在正在被使用的环境变量。
DISPLAY=""用于定义你当前桌面在哪个位置显示,哪个屏幕显示
HISTSIZE=""命令历史当中可以保存过去多少条命令的(需要记住的)
HOME=用于表示当前用户的家目录的
HOSTNAME=用于表示主机名
LANG=主机语言
LOGNAME=登录到当前用户的用户是
PATH=外部命令查找的可执行文件的访问路径
PWD=显示当前目录
OLDPWD=其实就是cd-在上一个目录之间前换
SHELL=当前shell
USER=当前用户
PS1=显示头部文件
当前环境变量的某些值来替换\u用户名\h主机名\W基名\$管理员用#其他用户用$
\!
命令在历史行里是第多少条命令
\t显示时间
恢复成原本
exportPS1='[\u@\h\W]\$'(这是原有方式
特殊标识方法
'[\033[31m\u\033[0m@\h\W]\]$'加颜色
\033其实是一种ASII码,控制颜色的
【printenv】显示部分环境变量
【env】表示你可以在一个指定的环境下运行某个命令
3.特殊变量。
也是Bash内置的变量,
最著名的变量:
$?
用于表示上一个命令的执行结果,用于看上一个命令是否执行成功了。
在linux编程中,0永远表示上一个命令成功了,如果失败了,会用1-255表示。
一般来讲,只要是大于0,都是没有执行成功的。
但每个错误会有不同的错误返回值。
4.位置变量。
用这个变量本身的位置调用的
比如$1$2$3....可以直接向脚本调用参数并应用的
脚本中
echo"thefirstparam:
$1"
echo"the2param$2"
echo"the3param$3"
在命令行下1sh.shabc则直接将abc变为$1$2$3
--------------------------
扩展:
算术运算
A=2
A=3
echo"$[$A+$B]"则显示结果
echo"$(($A+$B))"用$加双括号,也可以显示
--------------------------
练习:
想命令行传递两个任意整数并算出两个整数的和:
#!
/bin/bash
echo"Thesumis:
$[$1+$2]"
保存,命令行
./sum.sh45:
则内部将4直接赋值给$1,5赋值给$2并显示运算结果
==========================================
【passwd】回车就可以改密码了,不需要输入老密码,可以直接改新密码
作为普通用户来讲,需要输入老密码,然后才能改新密码。
passwdstudent可以改另一个用户的密码。
-------------------------------------------------------
【su】命令:
SwitchUser
格式:
su[option][arguments]
不加命令是默认进管理员
sustudent半切换到student目录下
su-lstudent完全进入student用户,或者:
su-student
-------------------------------------------------------
【history】可以看到你之前所使用过的命令:
命令历史。
最多保存1000条
想快速执行之前的可以用↑箭头往上翻。
也可以用
“!
n”就可以快速使用那个数字n所代表的命令。
“!
字符串”代表使用命令历史中离你刚输入最近的那条,以这个字符串开头的那个命令
“!
!
”用以表示使用上一条命令,就是刚用过的那条命令,重复一遍
“!
-n”用于执行倒数第n条命令。
history-c:
清除历史中的命令。
【HISTCONTROL】参数:
ignorespace:
忽略以空格开头的命令
ignoredups:
忽略重复的命令
ignoreboth:
空格开头和重复的都忽略
使用方法:
exportHISTCONTROL=参数
撤销HISTCONTROL的控制:
unsetHISTCONTROL
-------------------------------------------------------
【clear】,清屏
!
$:
表示引用上一条命令的最后一个参数
按住alt+".",也可以直接实现
按一下ESC,再点“.”号也可以实现引用上一条命令的最后一个参数
-------------------------------------------------------
【nano】命令
nano/etc/inittab可以直接打开inittab文件
进入之后,进入nano编辑器,下方有提示
O:
保存退出
R:
读取文件
Y:
下一个页面
V:
后一个页面
K:
剪切
U:
粘贴
-------------------------------------------------------
【ls】命令---->list
用于显示某一个文件的属性,或者某一个目录旗下子目录的属性。
ls:
显示目录,文件
ls/etc/inittab直接显示这个文件
ls/:
直接显示根下的文件和子目录
ls/etc显示文件夹含有的目录
显示要遵循FHS文件结构
对于任何一个Linux发行版,要遵循Linux的文件发行规范。
ls常用的选项
-l:
显示目录/文件内详细信息。
比如ls-l/etc则显示etc目录的详细信息
-h:
将文件信息中的大小变成人类易读的
-a:
显示所有文件,包括隐藏文件
-A:
不显示“.”和“..”这两个特殊目录
-d:
显示的是目录自身的属性,而不是目录中文件或者子目录的属性
-r:
显示目录,将以逆序的方式进行排序。
从Z-A
-R:
递归现实,显示目录下的每一个文件和子目录,如果目录还有子目录,则继续显示子目录下的文件和子目录,直到显示完全。
-i:
选项可以提供inode
-------------------------------------------------------
【cd】:
切换目录,ChangeDirectory
cd:
不带任何参数表示切换回当前用户的家目录
cd/path/to/dir:
切换到指定目录
cd-:
表示在上一个目录和这个目录来回切换,类似于电视遥控器上的返回之前
cd~:
切换回当前的家
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 系统命令 系统 命令