Linux大型服务器学习笔记以及常用命令.docx
《Linux大型服务器学习笔记以及常用命令.docx》由会员分享,可在线阅读,更多相关《Linux大型服务器学习笔记以及常用命令.docx(37页珍藏版)》请在冰豆网上搜索。
![Linux大型服务器学习笔记以及常用命令.docx](https://file1.bdocx.com/fileroot1/2022-12/31/c35cd58d-2b2a-40a1-96f0-054fc00ca354/c35cd58d-2b2a-40a1-96f0-054fc00ca3541.gif)
Linux大型服务器学习笔记以及常用命令
推荐迅雷JayXon版本
IP地址子网掩码网关DNSMAC
ipconfigWindows下查看网络信息ipconfig/all
netstat–na|more查看网络连接信息
ping
arp查看MAC分配表
GPU
CPU
单工双工全双工
塔式机架式刀片1U=4.445cm
虚拟主机->VPS->独立主机->主机集群
虚拟化技术
虚拟主机
VMWareWorkstation
VirtualPC
VirtualBox(Free)
挂载点mount/etc/fstab
/根
/boot启动分区很小
/home用户分区
/tmp临时文件
/var日志
/usr系统应用程序存在于系统path中
/usr/local第三方系统应用程序路径存在于系统path中
/opt独立软件系统安装路径
还可以有其他挂载点名称
Linux命令行操作(登入终端)
=====================分割线=====================
查看文件系统结构
cd~切换到当前用户的主目录
pwd查看当前所在目录
cd/切换到系统根目录
pwd
ls列出当前目录下的所有文件和子目录
clear清除当前终端中的内容
=====================分割线=====================
查看文件
Linux下通常用颜色来区分文件,默认情况:
蓝色->目录文件绿色->可执行文件
天蓝色->链接文件亮黄色->设备文件
闪烁红色->错误的链接文件白色->一般文件
例如:
ls-lh/bin/*查看/bin/目录中的所有文件
ls-lh/dev/tty*查看所有tty设备文件
ls-lh/查看/下所有目录
=====================分割线=====================
系统登录
建议使用非root用户登录
登录以后注意提示符普通用户是$root用户#
建议时刻注意当前所在目录
ssh-lroot127.0.0.1用root用户登录主机(127.0.0.1)
exit/logout退出当前登录终端
=====================分割线=====================
系统关闭与重启
关闭系统shutdown-hnow/init0/halt宕机
重启系统reboot/init6/shutdown-r
shutdown-r+3表示3分钟后重启系统
以上操作需要root权限
=====================分割线=====================
shell操作
shell是一个Linux最重要的工具,是其他命令的操作平台,是一个编程环境。
shell通常有多种,每种shell有不同的作用,常见shell有sh/bash/csh等,目前流行的是bash
ls-lh/bin/*sh查看当前系统中的可用的shell
exit退出当前shell,返回上一级shell
切换shell/bin/bash或/bin/csh或/bin/sh或/bin/dash
\Linux命令续行符
例如:
ls-lh/bin/*shls\-lh\/bin/*sh
ctrl+c终端当前命令执行
tab键补全命令或列出所有匹配的文件和目录
方向键上下查找已键入的命令
=====================分割线=====================
通配符
*任意个任意字符?
一个任意字符
[]正则表达式
=====================分割线=====================
管道符和重定向符
|管道符是把前一个命令输出作为下个命令的输入
例如:
ls-lh/bin/*|more
>覆盖重定向符把命令的输出重定向
例如:
cd~
ls-lh/bin/*>1.txt
cat1.txt|more查看1.txt文件
more1.txt分页查看1.txt文件
head1.txt查看文本文件的开始10行
tail1.txt查看文本文件的结尾10行
less1.txt分页查看1.txt文件
>>追加重定向符把命令的输出重定向
<<追加重定向符把内容重定向为命令的输入
=====================分割线=====================
强大的帮助系统
man
info
--help/-h
=====================分割线=====================
进程管理
前台进程top
后台进程top&
守护进程sshd
僵尸进程
休眠进程
ps查看当前用户进程
ps-ef|more查看当前所有进程
ps-ef|more|wc-l查看当前进程数
ps-ef|greptty查看当前启动的终端进程
top查看当前系统资源信息
kill关闭指定进程号的进程
kill-9强制关闭指定进程号的进程
free查看当前内存使用情况
uptime查看当前系统负载
=====================分割线=====================
用户管理
/etc/passwd用户信息文件(普通用户可看)
/etc/group用户组信息文件(普通用户可看)
/etc/shadow用户密码信息文件(root用户可看)
/etc/gshadow用户组密码信息文件(root用户可看)
more/etc/passwd查看用户信息文件
/bin/su-切换到root用户
more/etc/shadow用root用户身份查看用户信息文件
关于用户切换
/bin/su披马甲的方式切换
/bin/su-换身份换环境
/bin/su-<用户名>root用户可以切换成任何用户
用户的增加修改删除都需要root权限,修改他人密码需要root权限
/usr/sbin/useradd添加用户信息
/usr/sbin/usermod修改用户信息
/usr/sbin/userdel删除用户信息
/usr/bin/passwd修改用户密码信息
例如:
/bin/su-切换到root用户
ls/home查看当前用户目录中的目录
/usr/sbin/useraddmysql以默认方式添加mysql用户
tail-n2/etc/passwd查看passwd文件的最后两行
tail-n2/etc/group查看group文件的最后两行
tail-n2/etc/shadow查看shadow文件的最后两行
/bin/su–mysql切换到mysql用户身份
注意:
当前mysql用户没有设置密码,不能用于远程登录。
该用户的作用只是用来启动mysql服务
manuseradd
例如:
tail-n2/etc/passwd
/usr/sbin/usermod-c“MySQLAdministrator”mysql
修改用户mysql的友好名称
tail-n2/etc/passwd
例如:
添加用户kaka到GID为500的组中
ls-lh/home
/usr/sbin/useradd-g500kaka
ls-lh/home
如果希望kaka用户能够登录,则需要设置密码
/bin/su-
tail-n1/etc/shadow
/usr/bin/passwdkaka
tail-n1/etc/shadow
测试kaka用户
exit退出root用户权限
/bin/su-kaka
id查看用户信息
exit退出kaka用户
用户修改自身密码需要输入当前使用密码
/usr/bin/passwd
例如:
/bin/su-
/usr/sbin/useraddtest
ls-lh/home
tail-n1/etc/passwd
/usr/sbin/userdel-rtest-r参数请谨慎使用
ls-lh/home
tail-n1/etc/passwd
=====================分割线=====================
文件命令基本操作(请在非root用户下操作,防止系统崩溃,在用户主目录中操作)
T1:
访问目录
cd/
pwd
cd~
pwd
ls-lh
ls-alh查看以.开头的文件.开始的文件为隐藏文件
T2:
创建目录
mkdirtask1
cdtask1
mkdirtest
ls
rmdirtest
T3:
创建文件
pwd确定在用户主目录中的task1目录
mkdirtest
cdtest
touch1创建文本文件1
cd..返回上一级目录
T4:
文件拷贝,删除,移动
拷贝文件
pwd(确认当前目录为task1)
ls
cptest/1../.该命令把当前目录下的子目录test中的文件1拷贝到当前目录的上级目录中
ls
ls../.
移动文件
pwd
ls
mv../1.该命令把当前目录的上级目录中的文件1移动到当前目录中
ls../.
ls
移动目录
pwd
ls
mkdirkkk
mvkkktest/.该命令把当前目录中的kkk目录及包含的子目录移动到子目录test中
ls
lstest/
删除文件和目录
pwd
ls
rm1删除文件名为1的文件
rmtest删除目录test,失败
rm-rftest静默方式删除目录test
rm-rf*危险!
!
!
!
!
!
!
请多次确认pwd
T5:
查看文件类命令
cat
more
less
head
tail
T6:
文件相关命令
ln创建文件链接,例如:
mkdira1
ln-sa1a2
ls-lh
file查看文件信息,例如:
filea1
filea2
filea1/1.txt
ls/bin/*>2.txt
file2.txt
T7:
find命令重要的查找工具,但不局限于查找
find.-name“*.txt”表示查找当前目录包括子目录下文件名包含”.txt”的文件
例如:
pwd
touch1.txt2.txt3.txt4.txt
toucha1/5.txta1/6.txta1/7.txt
cd/
find/home/clchappy/-name“*.txt”
find/home/clchappy/-name“*.txt”-execrm-rf{}\;
找到以后并删除
ls/home/clchappy/task1
T8:
命令查找工具
which
whereis
whatis
T9:
归档及压缩工具
tar归档打包工具,也是Linux下的备份工具
gzip解压缩软件
bzip2另一种算法的解压缩软件
zip标准zip算法的压缩软件
unzip标准zip算法的解压软件
为了让备份的数据能够在其他平台上使用,通常添加扩展名.tar.gz
通常tar和gzip是共同工作,而且tar自带gzip管道
例如:
创建备份包
mkdirlog
cdlog
cp/var/log/*log.
cd..
tarzcvfmysql-2012.03.01.tar.gza1/a2/log/
ls-lh
恢复备份包
pwd
rm-rfa1/a2log/
tarzxvfmysql-2012.03.01.tar.gz
=====================分割线=====================
文件权限系统
两类用户root用户普通用户
三种级别文件所有者文件组所有者所有人
三中权限读(r)写(w)执行(x)
另外还有第一位权限为表示该文件的类别
d代表目录(有x)-表示文件l链接文件(rwx)
rwx
421用8进制表示权限,以及8进制掩码表示权限
-rw-r--r--644(8进制)133(8进制掩码)表示该文件所有者可读可写不可执行,文件组所有者可读不可写不可执行,其他所有人可读不可写不可执行
例如:
id
cd/tmp
vi1.txt
在vi编辑界面中按i进入插入模式,然后键入任意个字符,然后按esc退出插入模式,然后键入:
,然后键入x并回车退出
ls-l1.txt
可见当前文件权限为-rw-rw-r--
/bin/su-kaka切换到kaka用户,kaka用户与当前用户是同一用户组
id
cd/tmp
vi1.txt
在vi编辑界面中按i进入插入模式,然后键入任意个字符,然后按esc退出插入模式,然后键入:
,然后键入x并回车退出
接下来我们切换到mysql用户,该用户没有密码,不能直接登录,先切换到root用户,然后在切换到mysql用户
/bin/su-
/bin/su-mysql
id
cd/tmp
在vi编辑界面中按i进入插入模式,然后键入任意个字符,然后按esc退出插入模式,然后键入:
,然后键入x并回车退出(提示错误),然后键入q!
退出
=====================分割线=====================
文件权限设定
chown-R<用户名>:
<用户组><文件或目录>
chgrp-R<用户组><文件或目录>
chmodg+rwx<文件或目录>
chmod700<文件或目录>
例如:
切换到当前用户
cd/tmp
ls-l1.txt
/bin/su-
cd/tmp
chownmysql:
mysql1.txt设置1.txt的用户和用户组分别为mysql和mysql
ls-l1.txt
chgrpclchappy1.txt设置1.txt的用户组为当前用户
ls-l1.txt
chmodg-rw1.txt设置1.txt的组权限为不可读不可写
ls-l1.txt
chmod-rwx1.txt设置1.txt的所有权限为不可读不可写不可执行
ls-l1.txt
chownclchappy1.txt设置1.txt的用户为当前用户
切换到当前用户
chmodu+r1.txt设置1.txt的用户可读权限
ls-l1.txt
chmoda+w1.txt设置1.txt的所有人可写
ls-l1.txt
chmodo-w1.txt设置1.txt的其他用户不可写
ls-l1.txt
chmod7551.txt设置1.txt的权限模式…
常见Web服务器中的目录设置权限
777755644664700
特别的,设置当前目录下权限
chownclchappy:
clchappy.设置当前目录的用户和用户组
chmod770.
ls-al.
=====================分割线=====================
网络管理命令
ifconfig网络查看与设置(动态设置,静态设置需要修改配置文件)例如:
ifconfig-aeth0
netstat查看当前网络连接情况
例如:
netstat-na|more
正常LISTEN和ESTABLISHED
系统负载大WATING
系统负载过大TIMEOUT
netstat-na|grepLISTEN|wc-l
ping
nslookup查询DNS解析
whois查询域名信息
arp
route
网络配置信息文件
cd/etc/sysconfig/networking-scripts网卡配置信息
cd/etc网络信息
hosts主机信息文件
protocol网络协议信息文件
services服务信息文件列出常见服务端口
ftp:
20:
21
ssh:
22推荐登录工具puttywindows下radmin
smtp:
25
dns:
53
http:
80
pop3:
110
imap:
143
https:
443
SQLServer:
1433
MySQLServer:
3306
以上端口状态以LISTENING出现
=====================分割线=====================
vi超级利器(vim)
例如:
启动vi或者vi
命令
i在当前光标位置进入文本编辑模式
文本
用esc命令退出文本编辑模式
保存先键入:
在键入w1.c
先键入:
再键入q退出
进入文本编辑模式:
i当前光标位置插入
I当前行的第一个位置
a当前光标的下一个位置
A当前行的最后一个位置
o当前行的下一行
O当前行的上一行
例如:
viHello.java
键入i
键入代码
importjava.lang.*;
publicHello{
}
按ESC
移动光标public的末尾字母c上
键入a进入编辑模式,编辑完代码后按ESC退出
键入o进入编辑模式,编辑完代码后按ESC退出
键入O进入编辑模式,编辑完代码后按ESC退出
键入I
键入A
在命令模式下进行移动
h(左)j(下)k(上)l(右)
e以单词为单位向后移动(移动到单词的末尾)
w以单词为单位向后移动
b以单位为单位向前移动
0移动到当前行开始
$移动到当前行末尾
G移动到文件末尾行
1G移动到文件开始行
Ctrl+f向下翻1页
Ctrl+b向上翻1页
在命令模式中删除
x删除一个字符
dw删除一个单词
dd删除一行
nddn为数值,删除连续的n行
d0删除当前位置之前的所有字符
d$删除当前位置之后的所有字符
db删除当前位置之前的一个单词
de删除一个单词
dG删除当前所在行之后的所有内容
d1G删除当前所在行之前的所有内容
在命令模式中撤销与重做
u撤销
Ctrl+r重做
在命令模式中复制,粘贴,及剪切
yy复制一行
nyyn为数值,复制n行
p在当前行之后一行粘贴内容
P在当前行之前一行粘贴内容
dd剪切一行
nddn为数值,剪切连续的n行
退出
:
q不保存退出
:
q!
不保存强制退出
:
wq保存并退出
:
wq!
保存并强制退出
:
x保存退出
:
x!
保存并强制退出
命令模式查找键入/(向后查找)或者?
(向前查找)
命令模式中替换r替换一个字符,R替换连续字符
全文正则替换:
s/public/private/g
:
set设置vi环境
:
setnumber显示行号
:
setts=3设置tabSize为3
:
help帮助系统
=====================分割线=====================
C/C++及Java的编译环境
gcc是一种非常好的c/c++编译器,开源的编译器,对于ANSIC99支持的较好(98%)
gccHello.c
./a.out
绝对路径/home/clchappy/task1/a.out相对路径(./a.out)
gcc-oHelloHello.c
./Hello
javacHello.java
如何安装软件?
?
?
?
?
?
?
?
?
?
二进制包(软件发行包)安装
源码方式安装
=====================分割线=====================
磁盘管理
fdisk磁盘分区
mkfs分区格式化
e2label分区卷标
mount分区挂载
umount分区卸载
需要在VirtualBox中新增一个虚拟磁盘
切换到root用户
查看硬件设备是否检测到?
ls/dev/sd*
做分区操作,请务必弄清新加载的硬盘的设备名称
fdisk/dev/sdb
ls/dev/sd*
mkfs-text4/dev/sdb1用ext4格式格式化分区
mkfs.ext4/dev/sdb1
cd/
mkdir/backup
df-kh
mount-text4/dev/sdb1/backup
df-kh
umount/dev/sdb1
df-kh
自动挂载/etc/fstab
=====================分割线=====================
VirtualBox的分配数据空间的挂载
设备分配数据空间
cd/mnt
mkdirshare
mount-tvboxsfSoftware/mnt/share
=====================分割线=====================
加载iso文件
cd/mnt
mkdirdvd
cdshare
mount-tiso9660-oloopCentOS-6.2-i386-bin-DVD1.iso/mnt/dvd
=====================分割线=====================
Linux软件发行包的安装
1、发行包是32bit还是64bit(x86_64/x64)i386_x64
2、发行包支持的内核版本2.4.x/2.6.x
uname-a可查看当前系统的内核版本
3、发行包支持的C/C++库版本gccv3gccv4
gcc-v查看gcc的版本
Linux发行包使用.rpm扩展名,还有使用.bin的
rpm包可以从官方下载从rpmfind网站
(
http:
//www.centos.org
)
发行包有签名的概念PGP签名WindowsMD5和SHA签名
CentOS用使用rpm命令查看、安装和卸载软件包
说明:
包名包含devel的,表示是该软件的开发包
rpm-qa|more查