1.whoami 我是谁
2.echo “xx ” 输出字符串“xx” ;echo -n “XX” 不换行输出“xxx”(-n是c语言中的转义字符)
echo “xxx” > a.txt 把字符串打进a.txt(文件中>>不覆盖原内容,>覆盖掉原内容);
Echo $? 结果是0则安装或者编译没有错误;
3.Nano 文件 nano有自己的界面;
4.Shell 的两个特殊功能,一是历史命令功能,通过键盘上下键浏览输入历史;二是命令补齐功能,输入命令的一部分时按下Tab键可以自动补全,若有多个连按2下Tab就出现全部的命令;
5.Man命令 查看系统的自带帮助文档,一共有9部分,默认优先从字数少的手册中查找相关的内容,通过键盘的上下键移动界面,pgup、pgdown翻页,/字符串 从光标处开始往下查找
Eg :man getenforce
/time 从光标处向下查找time,n转下一个匹配处,N上一个匹配处,q退出man界面;
6.linux中的关机命令:
Shutdown -h 时间参数 [关机原因]
shutdown -h now 立马关机
Shutdown -h 10 10分钟后关机
Shutdown -h 00:00 今天00:00关机
ctrl+c取消关机
7.linux中的重启命令:
Shutdown -r 时间参数 [说明原因]
ctrl+c取消关
Shutdown -c 取消
8.pwd 显示当前的绝对路径 (登陆时默认在用户的家目录下)
绝对路径:从根用户写起的目录路径
相对路径:相对当前的目录,在当前目录路径写起的
9.cd 目录名 切换目录
. 当前目录 ..上一个目录 -切换前的目录~用户的家目录
Eg:cd ../.. 切换到上上个目录
cd ~ liy 切换到用户liy的家目录
10.mkdir 目录名 创建目录
mkdir -p /11/22/33 创建嵌套目录
11.rmdir 目录名 删除目录 (只能删除非空目录)
rm -rf 目录名 删除非空目录
12.ls [参数]文件/目录路径/目录名/空 列出目录下的文文件
ls -a 目录名 列出包括隐藏文件的所有文件 (.开头的文件就是隐藏文件)
ls -l文件 以长格式列出文件或目录
ls -al 文件或目录 以长格式列出包括隐藏文件在内的文件
ls -l 以长格式列出文件或者目录
-rwxr-xr--. 1 dev01 dgroup 116 9月2712:42 helloworld.sh
1 2 3 4 5 6 7
1).- rwx r-x r--. 文件或目录的类型和权限
7 5 4 (这个具有754权限)
文件拥有者的权限 从属用户组里面的用户的权限 others的权限
2).第一个字符显示的是文件的类型:-普通文件、d目录文件、c字符设备文件、b块设备文件、l符号链接文件
3). dev01 文件的拥有者(只能有一个)
4). dgroup 文件从属的用户组
把其他用户加入到用户组中:usermod -G用户组 用户名
在Linux中与一个文件有关系的用户分成3类,文件拥有者(也就是第3个字段的内容,文件的拥有者只能有一个)、文件所从属的用户组里面的用户(也就是第4个字段,用户可以有多个)、除了这两类用户之外的用户others。
r读权限,可以查看这个文件的内容;w写权限,可以修改这个文件内容或者删除这个文件;x执行权限,可以运行这个文件; -没有相应的权限。
修改文件的属性:chmod 700文件名 把这个文件的权限改为了700
怎么查看用户组里面的所有用户啊?
查看所有用户在这个文件/etc/passwd 查看所有的用户组在这个文件/etc/group
修改文件的拥有者和从属的用户组:chown拥有者:用户组 文件名
Eg:chown ly:we_group a.txt
只更改从属用户组: chown :新用户组 文件名
只更改拥有者 : chown 新拥有者: 文件名
!e --->export TMOUT=5 然后就是从普通用户自动切换到root用户 ,但是目录不变;
13.cp [参数]目录/文件 另一个目录[/文件新名] 复制文件到别的目录且从新命名
Eg: cp ./a.txt /tmp/newa.txt
Cp 可以复制多个文件甚至整个目录;
cp -f 复制时强制覆盖掉所有同名的文件;
cp 复制时文件的属性会改变,cp -p就可以不改变文件的属性;
14.mv 要移动的文件或者目录 目的目录
mv ./file ./newfile 重命名文件
15.rm [参数]文件名
rm -f file 不提示直接删除文件
rm -rf 目录名 删除非空目录
16.touch 文件名 创建一个新的空文件
Eg:touch ./ file 在当前目录下创建一个文件
17.符号链接:相当于windowns下的快捷方式,指向实际文件通道;
ln -s 原文件 符号链接名
Eg:ln -s file file.link
原文件被删除后符号链接无效称“断裂”,可以为任何文件或者目录创建符号链接;
18.硬链接:让一个indoe-number对应多个indoe,文件数据个数不变,只是这个文件多了一个名字,这个名字就叫硬链接;硬链接相当于文件的别名;
所有的文件看成书的话,inode区就是目录,data block区就是内容;
ls -il 文件 列出的第一个数段是inode-number;
Linux中存取过程:文件名-->indoe-number-->文件indoe-->数据 ;
ln 原文件 硬链接名 创建硬链接
Eg:ln a.txt a.link 为a.txt创建硬链接a.link
硬链接不会像符号链接出现断裂;
创建硬链接注意:不能为目录创建硬链接,会出现目录遍历死循环;不能跨硬盘分区创建硬链接。
19.su - 用户名 切换用户,注意尽量不要省略 -直接用su会缺少环境变量
20.tar 把多个文件前后连成一个大文件,tar打包文件保留原文件,不会压缩文件;
tar <操作> [选项]创建的打包文件名 file1,flie2,file3...
Eg:tar -cf file.tar file1,file2,file3
tar -tf file.tar 查看打包文件
tar -f file.tar -- delete file1 删除打包文件file.tar里面的file1文件
tar -f file1.tar -A file2.tar 合并两个打包文件
tar -f file.tar -r file1 向打包文件file.tar中添加新文件file1
21.tar -xf file.tar 默认解包到当前目录
tar -xf file.tar -C /tmp 把file.tar包解到/tmp目录下
22.压缩命令:
gzip 文件名或报名或目录名 压缩文件,压缩后把原文件删除掉;
23.先打包再压缩:
Tar -czf file.tar.gz file1 file2 file3
24.解压命令:
gzip -d file.gz
25.解压解包命令:
tar -zxvf file.tar.gz
26.查找文件:
locate 查找路径 文件关键字
Eg:locate / A.txt
只是在数据库中查找不是在硬盘中查找,故很快,但是有可能找到已经删除或者找不到新增的文件,因为记录文件的数据库默认每天更新一次,使用locate查找文件时最好用updatedb更新数据库才不会出现找到已经删除和刚刚创建的文件。
find [路径] [查找条件] [动作]
路径:一般是指一个目录,当前目录可以省略;
查找条件:如文件名、大小、类型等;
动作:对查找到的文件进一步处理;
Eg:find / -name a.txt 以名字查找
find / -type l 以类型查找
find / -type f ! -name a.txt 在根目录下查找除a.txt外的文件
Find / -size +10k 大于10k的文件
Find / -size -10k 小于10k的文件
Find / -user root -ls 查找拥有者为root的文件,并以长格式列出文件
Find / -size -1k -exec rm -f {} \; 查找小于1k的文件并删除掉
联合查找:
与:-a 或:-o 非:!
注意:使用多个条件时,这些条件要用圆括号括起来,左右圆括号还要使用反斜杠"\"来进行转义,以防止shell的解释;
Find /tmp (-size +1k -a -size -10k ) 这个不清楚
27.通配符
* 代表任意长度字符;
? 代表任意单个字符;
[a,f] 匹配a到f中任意一个字符
[!a,f] !取反,除了a,f外任意一个字符
28.查看文件
Cat a.txt 查看a.txt文件(查看较小的文件)
Cat > a.txt << n (n可以是任意字母) enter后可以输入内容,直到输入n按下enter后才结束输入。>覆盖>>不覆盖
cat -n 文件 查看文件并且显示行号;
less a.txt 可以上下翻页,与man命令相似,查看较大的文件;
head a.txt 查看文件默认显示前10行;
head -19 a.txt 查看文件的前19行 ;
tail a.txt 查看文件默认最后10行,与head一样的用法;
head与tail一般用来查看日志文件;
Head -80 a.txt |tail -20
tail -f log.txt 动态显示log.txt后10行 -f参数一般用来查看动态的文件
29.vim文本编辑器(直接输入vim -> enter就能查看vim版本)
Vim是一个模式编辑器,不同的模式干不同的事,分为3种模式:
1.一般模式:hjkl分别是左下上右;3j向下移动3行,3l向左移动3字符;gg移动到首行,G移动到最后一行,0移动到行首,$移动到行尾,nG移动到n行行首,n$移动到n行行尾;dd删除光标所在行,ndd删除光标以下的n行;x删除光标所在的一个字符;yy复制光标所在行,nyy复制光标以下的n行;p粘贴到光标处;J删除换行符;u撤销最后一次操作;ctrl+r撤销u的操作;e!撤销所有操作;
2.:冒号进入命令行模式 :w保存; :q!强制退出vim; :wq保存退出
:wq b.txt 保存退出命名为b.txt;
: set nu 设置行号,:set nonu取消行号,:set all查看所有行号模式;
3.编辑模式 i进入编辑模式;esc推出到一般模式 ;
30.Vim
1 设置行号 :set nu 取消行号:set no nu
2 n+hjkl键
3j向下移动3行,5l向右移动5字符,gg移动到首行,G移动到最后一行
0移动到行首,$移动到行尾,nG移动到n行行首,n$移动到n行行尾
3 查找:一般模式下或在命令行模式下输入 /字符 可以查找内容,如/man查找字符串man;n匹配上一个,N匹配下一个
4 替换:
n1,n2s/man/MAN/gc
在n1,n2行之间查找man字符,并用MAN替换掉,c表示替换时要用户确认,可省略,
5 复制:
yy复制光标所在行,nyy复制光标开始的向下n行,p把已复制的文本粘贴在光标下一行
6 删除:
dd删除光标所在行,ndd删除光标所在行的下几行,x删除字符,nx删除多个字符
7 撤销:
u撤销一次操作,:e!撤销所有操作
8 :w :wq :q!
9 在最后一行插入某个文件并保存
命令模式下,:r 文件名 (表示将文件追加到光标所在行后):w保存
10 同时打开多个文件,vim a.txt b.txt
命令模式下:n切换到下一个文件N切换到上一个文件
11 在某个文件中 ctrl+v进入可视模式
30.查看用户:
id 用户名 查看uid、归属组的用户gid
finger 用户名 查看用户家目录、shell、用户备注
Eg:finger liy
31.切换用户
Su - 用户名 不要省略 -
32.创建、修改、删除用户
useradd 用户名 创建新用户
useradd -c 用户位置 -u用户uid -d用户家目录 -g主用户组 -G除住用户组外从属的用户组 -s shell类型
passwd 用户名 enter后设置密码
passwd -d 用户名 清楚密码也能登陆
usermod -l 新用户名 旧用户名 修改用户名
usermod -L 用户名 锁住某个用户
usermod -U 用户名 解锁某个用户
usermod -u502 用户名 更改某个用户的uid
userdel -r 用户名 删除用户名 -r参数是把用户的家目录也删除掉
33.创建删除用户组
groudadd 组名 创建新组
usermod -G 组名 用户名 把用户添加到用户组中
Eg:usermod -G group user 把user添加到group组中 id user就可以查看是否添加
group -n 新组名 旧组名 修改组名
groupdel 组名 删除组名
group -g505 组名 更改用户组gid 一般不修改用户gid防止系统混乱
34.分配根用户的权限给普通用户
通过修改/etc/sudoers 文件让普通用户执行sudo命令;
Vim /etc/sudoers
Root ALL=(ALL) ALL
ROOT 代表可以行使sudo命令的用户名;
All 登陆用户来源组即名
(All) 可让渡权限的用户列表
All 用户可行使命令列表
普通用户执行root用户的命令:sudo -u root 命令
35.用户配置文件
/etc/passwd 存放所有的用户名
/etc/shadow 存放用户密码,但不是明文
/etc/group 存放所有的组名
/etc/gshadow 存放所有组信息
36.硬盘和分区
/dev 中存放系统的设备文件
1./dev/xxy xx指硬盘类型,如sd;y指的是硬盘的编号,a-z
2./dev/xxyn 分区的命名格式
n的数字:1-4指主分区或者扩展分区,5以上指逻辑分区
Eg:/dev/sda2 sda硬盘中的第2个主分区
3. 查看硬盘或者分区信息:
fdisk -l 分区名或者硬盘名
Eg:fdisk -l /dev/sda2
4.分区:
fdisk 硬盘名或者分区名
5.格式化硬盘:
mkfs 硬盘名或者分区
mkswap (少用)
6.挂载分区:
mount 参数 分区名 挂载点
参数: -t 用来指定挂在设备文件系统类型
-o 指定挂在后的行为
umount 分区名或挂载点 卸载分区
注意:请不要将分区挂载在空目录上,不要多次挂载同一个分区
37.查看、操纵网络接口
网络接口就是主机上的网卡(network interface)
1.ifconfig -a 网卡名 查看所有网卡包括没有开启的网卡
2.操纵网络接口 -->根用户
ifconfig eth0
Collisions --> 以太网传输发生冲突次数
lo是回环接口,虚拟的一般用于网络程序调序
ifconfig eth0 up 开启网络接口
ifconfig eth0 down 关闭网络接口
3.修改ip地址:
ifconfig 网卡 ip地址 netmask 255.255.255.0
Eg:ifconfig eth0 192.168.11.1 netmask 255.255.255.0
4.修改接口mtu:
ifconfig eth0 mtu mtu值
Eg: ifconfig eth0 mtu 1000
注意:ifconfig 改变接口参数是临时的,系统或网络重启后修改的参数不会保留
service network restart 重启网络
38.配置Tcp Ip 参数 设置为static
Eg:ipaddress 192.168.11.1
子网掩码 255.255.255.0 network mask
网关 192.168.11.5 getway
DNS地址 192.168.11.5
主机名 liyue
通过修改相关的文件配置网络参数
1.cd /etc/sysconfig/network-scripts/
vim ./ifcfg-eth0
bootproto=static
在文件最后添加:
IPADDR =IPaddress 指定ip
GETWAY= 指定网关
NETMASK= 指定子网掩码
DNS1= 指定DNS地址
再service network restart 重启网络就行了
注意:一台主机中默定网关只能有1个,故有多个网卡也不用配置多个默认网关;
2.ping 命令 测试网络的连通性
ping -c 5 ip地址或者主机名 测试5次
3.测试DNS设置
执行DNS搜索,显示从授权请求的域名服务器返回的答复;
dig 域名 用dig检查DNS服务器是否连接上,并给我们主机提供正确的域名解释符;
如无法正确解释地址,则如下:
检查DNS地址是否正确;
主机防火墙设置;
向网络管理员确认DNS运营
4.设置主机名
vim /etc/sysconfig/network
HOSTNAME=主机名 :wq
vim /etc/hosts
在尾处添加本机ip地址和主机名:
192.168.71.128 liyue
service network restart 重启网络,ping主机名 查看是否成功
最后shutdown -r now 重启系统
39.动态主机配置协议 DHCP
为主机自动配置网络,前提主机所处的局域网中存在一台DHCP服务器;
vim /etc/sysconfig/network-scripts/ifcfg-eth0
Bootproto=DHCP
其他存在ip、DNS等去掉,重启网络就行 service network restart
40.rpm
rpm包将软件编译好如二进制文件、所以来的动态库文件、配置文件等,打包压缩到一个文件中。
rpm将rpm包解压到目标文件中,只能管理rpm封装的包。
rpm包:
tsclient-2.0.2-10.el6.X86_64
1 2 3
1:软件名 2:版本号 3:适用的硬件构架
rpm安装方式:
获取软件rpm安装包的下载链接---->>wget http://xxxxx 下载到当前路径;
rpm -q 软件包名字 查询是否安装该安装包;
rpm -ivh rpm包 安装rpm包,参数i是显示安装进程条;
rpm -e 软件包 卸载rpm包
41.yum
解决了rpm在安装时的软件依赖性问题,yum能够自动查找并解决rpm软件包之间依赖关系,无需用户逐个手动去安装或卸载。yum只是解决了rpm包依赖关系的工具,yum不是一种软件封装模式,rpm仍然是默认软件管理器,yum只是rpm的前台工具。
Yum服务器放着rpm软件源,其中有软件仓库放着:软件包索引、每个rpm包依赖关系数据、该软降仓库中所有软件包;
1.使用yum命令时先:
1)yum clean all 清除缓存中旧的rpm头文件、包文件
2)yum makecache建立新缓存(将服务器软件相关信息存到本地)
2.yum install 包名 安装软件 -y可以安装依赖的软件包
3.yum list 软件名 列出安装软件
yum list available |less 列出资源库中所有可安装的软件
yum list installed |less 列出所有已经安装的软件 可以和管道与less使用
4.yum info 包名 列出安装软件的具体信息
5.yum update 包名 更新软件
6.yum remove 包名 卸载软件
安装软件:yum install 包名 rpm ivh aa.rpm;
二进制包先tar -zxvf aa.tar.gz ---> yum install aa -y
42.查看进程 ps
ps -A 查看所有进程 显示:PID PPID TTY CMD
ps -Af |grep 进程名字 显示所有进程的详细信息
ps -ef |grep 进程名字 查看所有进程(常用)
43.动态经常top
Top显示动态进程,默认每3秒刷新一次;
默认以cpu占用量倒序排列;T按时间倒序排列;P按cpu占用倒序;m隐藏和显示men和swap两行;t隐藏和显示tasks和cpu(s)两行;
44.htop动态进程
45.pstree 显示进程树
46.杀死进程 kill
Kill -15 进程号 人性化终止进程
Kill -9 进程号 强制性终止经常