一、 用户管理(添加用户、切换用户、删除用户)
~ #波浪线,代表家目录
cd ~ 和 cd #快速回到家目录
id 和 whoami #查看当前用户
who 和 w #查看当前已经登录的用户
whereis 文件名 #查找文件
root用户的家目录为/root
普通用户默认家目录为/home/用户目录下
添加用户:
useradd 用户名 #添加用户
useradd -g 组名 用户名 #添加用户,指定到某组
passwd 密码 #给添加用户设置密码、重置密码
切换用户:
su 用户名 #切换用户
su - 用户名 #切换用户,su - 会重新加载用户的环境变量
sudo #获取超级用户权限
普通用户sudo获取超级用户权限
在 /etc/sudoers文件
找到 root ALL=(ALL) ALL
加入 用户名 ALL=(ALL) NOPASSWD:ALL
删除用户:
userdel 用户 #删除用户
userdel -r 用户名 #删除用户,也删除用户家目录
二、 组管理(添加组、修改组、删除组)
添加组:
groupadd 组名 #添加组
修改组:
groupmod –n 组新名 组旧名 #修改组名
删除组:
groupdel 组名 #删除组
三、 对目录(文件夹)的操作(增删改查)
相对路径:以当前路径为基准的路径,跟着当前路径变化;当前路径
绝对路径:以根目录为基准的路径;实际路径
cd #进入到哪个目录里(文件夹)
mkdir #创建文件夹
mkdir -p #如果创建的文件夹的父目录不存在的话,自动创建父目录
命令 --help #所有命令的帮助说明
rm 和 rmdir #删除文件夹
rmdir #删除空文件夹
rm -rf / #强制全部删除
rm -rf /路径 #强制全部删除某个目录下的文件
ls #查看目录下的所有文件
ls -a #查看隐藏文件
ls-la #查看影藏文件,文件大小等详细信息
cat 文件 #查看文件内容
more 文件 #分页查看文件内容
less 文件 #分页查看文件内容,和more命令的区别就在于它支持上下键卷动屏幕,按q即可退出
ln /文件绝对路径 ~/快捷方式名 #创建(硬连接)快捷方式(例子:ln /opt/lampp/lampp ~/lampp)(相当于复制了一遍)
ln -s /文件绝对路径 ~/快捷方式名 #创建(软连接)快捷方式(例子:ln -s /opt/lampp/lampp ~/lampp)
du -sh #查看当前目录的大小
du -sh * #当前目录每个文件夹的大小
du -sh /文件路径 #查看某个文件夹的大小
df -h #查看当前磁盘已经使用了多少
df #查看整个磁盘大小分布,还剩多少空间
df -l #查看本机的文件系统(ls | wc -l,统计当前目录的行数;cat 文件名 | wc -l,统计当前文件的行数)
find / -name 文件 #查找文件或者文件夹
grep 关键字 文件 #查找文件里的关键字
grep -v 关键字 文件 #过滤掉指定的信息
tail -f 日志 #查看动态实时的日志
tail 文件 #默认显示文件最后十行(例:tail -5 文件,显示文件最后五行)
tail -f 日志|grep 关键字 #在动态实时的日志里查找关键字
nohup ./程序 & #在后台启动(例:nohup ./jmeter-server & )
cd .. #返回上一级目录
cd ../../ #返回上两级目录
cd - #返回上一次所在的目录
pwd #显示当前所在目录路径
树状结构,/ #最高的根目录,顶级目录,相当于Windows→我的电脑
root #root用户的个人文件夹(家目录)
bin #存放多数用户可用的命令
boot #存放启动文件和配置信息,系统启动时会用
dev #存放设备文件,/dev/hdc代表光驱
etc #存放服务配置文件
home #其他用户的家目录
lib #存放程序运行所需要的库文件
media #可移动设备的挂载目录
mnt #设备挂载目录
usr #用户程序存放目录
var #存放经常改动的数据文件
tmp #存放临时文件
wc -l #统计行数
wc -w #统计字数
| #管道符,连接两条命令,把前面的命令执行结果给后面的命令处理,只要有一个失败,即不会执行
&& #and,连接两条命令,分别执行前后两条命令(例:ls && wc -l 文件名),只要有一个失败,即不会执行
权限:
例:drwxr-xr-x.(d代表文件夹;什么都没有,只显示权限代表文件)
-rw-r--r--.
-rw -r-- r--.
所有者的权限 同一组用户权限 其他用户权限
数字方式:r=4;w=2;x=1 rwx:4+2+1; r-x:4+1; rw-:4+2
chmod 777 #所有者的权限 同一组用户权限 其他用户权限
chmod 77 #同一组用户权限 其他用户权限
chmod 7 #其他用户权限
chmod -R #递归(为文件夹加权限)
文本方式:r:读;w:写;x:执行
chmod o+权限 用户名 #给用户加权限(o:其他;u:自己;g:组)
chmod a+权限 和 chmod +权限 #给所有用户加权限
chmod o-权限 用户名 #去除权限(w:写;r:读;x:执行)
chown 文件 user #修改文件所有者
如果是一个文件夹的话,要加-R
chgrp 文件 group #修改文件所属组
如果是一个文件夹的话,要加-R
移动:
mv 文件名 /路径 #把文件移到某路径下
mv 文件名 新文件名 #改名
mv如果后面跟的是文件名则是改名,如果跟的是路径则是移动
touch #创建一个空文件
cp 文件 /路径 #复制文件到某路径下
cp -r 文件夹 /路径 #复制文件夹到某路径下
cp -f 文件 /路径 #强制复制文件
cp -rf 文件 /路径 #不论是否重复,是否是文件还是文件夹,都可以复制
alias 创建命令='实际命令' #起别名,创建命令,只对当前连接有效
在/etc/profile
加上alias 创建命令='实际命令' #永久生效
source 文件路径 #重新加载文件
进程:
ps -ef|grep 进程 #查看进程是否存在
ps -a或者-e #列出所有的进程
top #查看进程、资源使用率以及服务器配置,top是动态实时的数据,ps是执行时候的状态
kill -9 pid #强制杀进程(可以跟多个pid)
killall #杀多个进程
端口:
netstat -nlpt|grep pid #根据pid去查询进程启动的端口号
netstat -nlpt|grep port #查看端口号是否被占用
四、 对文件的操作(增删改查)
命令模式,默认是命令模式,输入的都是命令
编辑模式,输入的是文本
vi 和 vim #修改操作文件
i #切换到编辑模式,当前位置
o #切换到编辑模式,下一行开始
a #下一位置进行编辑
esc #切换到命令模式
命令模式下:
:q #没有修改,直接退出
:q! #不保存退出,强制退出
:wq 和 :x #保存退出
/ #从头开始查找
? #从末尾开始查找
:set nu #显示行号
:8 #快速到第8行
Shift+G #快速到文件末尾
:set nonu #取消显示行号
x #删除单个字符
dd #删除一整行(删除几行就几dd,例如:删除16行,命令为:16dd)
u #撤销
yy #复制一整行(复制几行就几dd,例如:复制16行,命令为:16yy)
p #粘贴
. #重复前一次的操作
$ #快速把光标到行尾
0 #快速把光标到行首
:%s/字符/替换字符/g #替换字符串
五、 安装软件
rpm安装:
rpm -ivh 软件.rpm #安装,不需要再自己去加环境变量,rpm自己会添加
rpm -e 软件.rpm #卸载
rpm -qa|grep 软件 #查询是否已经安装
rpm -i #安装
rpm -U #更新(升级)
rpm -e #卸载
rpm -v #显示安装信息
rpm -h #显示安装进度
yum安装:
yum install 软件 #安装
yum -y install 软件 #如果有选项全部同意安装
yum list|grep 软件 #从yum列表中查找你需要的软件
yum update 软件 #yum升级
yum list installed |grep 软件 #查询是否已经安装
yum remove 软件 #卸载yum安装的软件
源码安装(前提条件(安装gcc):yum -y install gcc*):
①.生成编译文件(命令:./configure --prefix=/路径)
./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件
--prefix #指定安装目录
--with-xx #指定依赖文件的目录
②.make编译(命令:make)
make命令也需要安装,会根据./configure产生makefile文件编译写好的c语言程序,产生可运行的文件
③.make install(命令:make install)
make install的作用是把编译好的文件复制到指定的目录下,也就是第一步--prefix指定的目录,如果没有指定目录的话,还是在当前目录下
六、 上传下载(必须是一个文件,文件夹必须借助FTP工具)
rz #上传
sz 文件名称 #下载
FTP工具:直接拖拽,什么都可以上传下载,必须选择SFTP协议
上传下载命令安装:使用yum安装:yum –y install lrzsz
编译安装:http://blog.chinaunix.net/uid-20639775-id-154615.html
七、 开关机、重启
注销:exit(逐步注销) logout
重启:reboot(可以不加参数)
-w #不实际关机,用户登录信息写入/var/log/wtmp
-d #不将用户登录信息写入/var/log/wtmp
-f #强制重启
shutdown -r 延时分钟数 “提示信息” #定时重启
关机:shutdown(不能单独用,至少2个参数)
shutdown -h 延时分钟数 “提示信息” #定时关机
shutdown -r now #now表示立即执行
init 0 #立即关机
八、 网络的操作:修改IP地址等
ip a 和 ifconfig #查看ip地址
dhclient -r #释放IP
dhclient #获取IP
service network start/stop/restart #启动、停止、重启网络
九、 压缩、解压文件
tar -c #创建
tar -x #解压
tar -f #使用归档文件
tar -j #使用bzip2解压缩
tar -z #使用gzip解压缩
tar -v #详细输出模式
tar cvf 文件.tar 文件名 #打tar包
tar zcvf 压缩名称.tgz 文件名 #压缩成tar包
tar xvf 压缩文件 文件名 #解压,不管是否压缩,都能解开
zip 文件.zip 文件名 #打zip包
unzip 文件.zip 文件名 #压缩成zip包
gzip 文件 #压缩成gz包;只能对文件打包,打包完原来的文件就不存在了;一般在备份日志的时候用
gunzip 文件.gz 文件 #解压
十、 环境变量(优先执行用户环境变量,用户环境变量没有再执行系统环境变量)
作用:让一个命令/脚本随便在哪个目录下都能用
系统环境变量:/ect/prifile
用户环境变量:~/.bashrc(只针对自己的用户生效)
export PATH=$PATH:/绝对路径
source 文件路径 #重新加载
十一、 定时任务
crontab 文件的格式为“M H D m d cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期 天)。cmd表示要运行的程序,*代表每分钟都执行。
crontab -e #编辑定时任务
crontab -l #查看当前有哪些定时任务
示例:
*/1 * * * * sh /opt/lampp/test.sh #表示每分钟执行一次test.sh这个脚本
*/5 * * * * sh /opt/lampp/test.sh #表示每5分钟执行一次test.sh这个脚本
30 21 * * * /opt/lampp/lampp restart #表示每晚的21:30重启lampp
十二、 重定向
cat 文件 >文件 #把一个文件的内容复制到另一个文件里;重定向多次会覆盖之前的内容
>文件 #清空文件,一般在清空日志的时候使用,不需要删除和重启,直接清空
cat 文件 >>文件 #重定向多次,追加内容
十三、 shell脚本(多个命令写在一起组成shell脚本)
awk
awk '{print $2}' #取第二列的数据
ps -ef|grep 进程|grep -v grep |awk '{print $2}' #取第二列的值
#!/bin/bash #指定shell解释器(linux默认的shell解释器是bash)
定义变量时,变量名和=号之间不能有空格
例1:启动脚本
count=`ps -ef|grep 进程绝对路径|grep -v grep |awk '{print $2}'|wc -l`
if[ $count -gt 0 ]
then
echo "进程 running"
else
nohup 进程绝对路径 &
例2:初版停止脚本
pid=`ps -ef|grep 进程绝对路径|grep -v grep |awk '{print $2}'`
kill -9 $pid
echo "进程 stoped"
例3:终版停止脚本
count=`ps -ef|grep 进程绝对路径|grep -v grep |awk '{print $2}'|wc -l`
pid=`ps -ef|grep 进程绝对路径|grep -v grep |awk '{print $2}'`
if[ $count -gt 0 ]
then
kill -9 $pid
echo "进程 stoped"
else
echo "进程 not running"
例4:重启脚本
停止脚本的绝对路径
启动脚本的绝对路径
十四、 其他
date +%Y%m%d%H%M%S #获取当前时间
桥接模式(VMnet0网络类型): 局域网内,同一网段的可以访问。VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在bridged模式下, 你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中 的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
NAT(网络地址转换)模式(VMnet8网络类型):只 允许虚拟机和本机连,其他不可以。让 虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚 拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不 需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
Host-only模式(VMnet1网络类型): 只 允许虚拟机和本机连,其他不可以。在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用Host-only模式。在Host- only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的,可以利用Windows XP里面自带的Internet连接共享(实际上是一个简单的路由NAT),来让虚拟机通过主机真实的网卡进行外网的访问。虚拟系统的TCP/IP配置信 息(如IP地址网关地址DNS服务器等),都是由VMnet1(Host-only)虚拟 网络的DHCP服务器来动态分配的。
CRT设置
选项→会话选项→终端→外观 #乱码问题,字符编码设置,修改字体等样式
选项→全局选项→终端→鼠标 #选中即复制成功
选项→会话选项→终端→X/Y/Zmodem #上传下载时,默认选中打开哪个目录
Xshell设置
文件→属性→终端 #乱码问题,字符编码设置
文件→属性→外观 #修改字体等样式
[root@suan ~]# PS1=“[\u@\H \W]\\\$ “
root 当前用户 u
suan 主机名 H
~ 当前路径 W
# 超级用户
$ 普通用户