系统:
1.查看磁盘分区情况: fdisk -l
查看磁盘情况:df -h (cat /etc/fstab文件)
2.查看是否安装: rpm -qa | grep 软件名
yum list installed | grep 软件名
3. 安装gcc编译器
yum install gcc gcc-c++ kernel-devel
4.设置环境变量:
export PATH=$PATH:/usr/local/webserver/php/bin
1. 安装mysql:
yum list mysql-server
yum install mysql安装包名称
安装三种方式: yum和RPM安装或源码编译安装
2. 启动mysql服务:
设置mysql开机启动: chkconfig mysqld on
service mysqld start
连接直接输入mysql
关闭mysql: \q
3. 开启3306端口并保存:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
4. 设置密码:
跳过授权:mysqld_safe --skip-grant-tables &
use mysql;
update user set password=password('密码') where user='root';
flush privileges;
5.重新启动mysql服务:
service mysqld restart
6.在linux中导入sql文件
进入到mysql命令行执行:
source /root/palmgroup_report.sql;
1.查看openssl安装版本:
openssl version -a
2. 更新openssl版本:
yum update openssl
3. 查询运行文件所在路径:
which openssl
4. 查看安装的地址:
whereis mysql
5. 查看是否安装mcrypt:
yum list installed|grep mcrypt
或者:rpm -qa | grep mcrypt
或者:yum info samba-client
6.搜索文件:
locate 文件名
find / -name 文件名
7.查看进程:
ps -ef | grep rsyslogd | grep -v grep
8.查看内核:
uname -a 00:50:56:35:E5:C9
9.查看系统允许最大的文件打开数:
ulimit -n 或者ulimit -a
当前系统文件句柄的最大数目:
cat /proc/sys/fs/file-max
查看所有进程的文件打开数:
lsof |wc -l
10.查看Linux系统级的最大打开文件数限制:
cat /proc/sys/fs/file-max
11.批量解压
for tar in *.tar.gz; do tar xvf $tar; done
for tar in *.tar.bz2; do tar xvf $tar; done
tar xvf wordpress.tar ####解压tar格式的文件####
tar -tvf myfile.tar ####查看tar文件中包含的文件 ####
tar cf tool.tar tool ####把tool目录打包为tool.tar文件####
tar cfz xwyme.tar.gz tool ####把tool目录打包且压缩为xwyme.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB ####
tar jcvf /var/bak/www.tar.bz2 /var/www/ ####创建.tar.bz2文件,压缩率高####
tar xjf www.tar.bz2 ####解压tar.bz2格式####
gzip -d ge.tar.gz ####解压.tar.gz文件为.tar文件####
unzip phpbb.zip ####解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的
gzip file1 ####压缩一个叫做 ‘file1′的文件####
gunzip file1.gz ####解压一个叫做 ‘file1.gz’的文件####
12. 文件夹权限
chown wjb /mnt/abbie
chmod 777 /mnt/abbie
chmod 777 /mnt/abbie/ -R //对这个目录及其子目录赋777权限
13. 将windows文件夹挂载到linxu
mount -t cifs -o username=pradmin,password="123" //192.168.220.1/CentOS /media
14. 防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
15.启动nginx方法:
方法一:/usr/local/nginx/nginx -c /usr/local/nginx/etc/nginx.conf
方法二: systemctl start nginx.service
16. 搜索安装包:
rpm -qa | grep rsyslog
17. 抓取日志:
a. grep /cmd/login /control/log/php.log | tail -n 10 //从php.log文件中抓取包含/cmd/login字符串的日志,抓最后10条 -n表示显示行号
b. tail -n +1020 //
18. curl使用方法(下载工具):
a. curl -o mygettext.html http://www.gnu.org/gettext.html //将文件下载到本地并命名为mygettext.html
b. curl -O http://www.gnu.org/gettext.html
//将文件保存到本地并命名为gettext.html
c. curl -O URL1 -O URL2
//同时获取多个文件
d. curl -L http://www.google.com
//让curl使用地址重定向,此时会查询google.com.hk站点
e. curl -C -O http://www.gnu.org/gettext.html
//(断点续传)通过添加-C选项继续对该文件进行下载,已经下载过的文件不会被重新下载
f. curl -z 21-Dec-11 http://www.example.com/yy.html //(下载指定时间内修改过的文件)若yy.html文件在2011/12/21之后有过更新才会进行下载
g. curl -u username:password URL
//可通过-u选项提供用户名和密码访问授权页面;(curl -u username URL:只输入用户名,之后会提示输入密码,查看历史记录时不会将密码泄露)
h. curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/ //列出public_html下的所有文件夹和文件
i. curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php //下载xss.php文件
j. curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com //将myfile.txt文件上传到服务器
k. curl -u ftpuser:ftppass -T "{file1,file2}" ftp://ftp.testserver.com //同时上传多个文件
l. curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt //从标准输入获取内容保存到服务器指定的文件中
m. curl -x proxysever.test.com:3128 http://google.co.in //设置代理主机和端口
n. curl -D sugarcookies http://localhost/sugarcrm/index.php
//将网站的cookies信息保存到sugarcookies文件中
o. curl -b sugarcookies http://localhost/sugarcrm/index.php //使用上次保存的cookie信息
p. curl -u username https://api.github.com/user?access_token=XXXXXXXXXX
//curl默认使用Get方式请求
q. curl -u username --data "param1=value1¶m2=value" https://api.github.com
//curl通过--data或者-d 将数据用POST方式传递
r. curl --data @filename https://github.api.com/authorizations
//也可以指定一个文件,将该文件中的内容当作数据传递给服务器端
s. curl -d "value%201" http://hostname.com //默认情况下,通过POST方式传递过去的数据中若有特殊字符,首先需要将特殊字符转义在传递给服务器端,如value值中包含有空格,则需要先将空格转换成%20
t. curl --data-urlencode "value 1" http://hostname.com
//在新版本的CURL中,提供了新的选项 --data-urlencode,通过该选项提供的参数会自动转义特殊字符。
u. curl --form "
[email protected]" http://hostname/resource //上传文件
19.查看本地已经存在的包
rpm -qa|grep vim
20.
永久禁用SELinux:(SELINUX是附加安全措施)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
临时禁用SELinux:输入setenforce 0
查看SELinux状态:
输入sestatus或者getenforce
20.
账户系统文件主要在/etc/passwd, /etc/shadow,/etc/group,和/etc/gshadow四个文件中。
其中root的uid是0,从1-499是系统的标准账户,普通用户从uid 500开始。
a. 使用命令管理账户:
useradd 选项 用户名//添加新用户
usermod 选项 用户名//修改已经存在的用户
userdel -r 用户名//删除用户表示自家目录一起删除。
groupadd 选项 组名// 添加新组
groupmod 选项 组名//修改已经存在的组
groupdel 组名 //删除已经存在的特定组。
useradd zhh888 //添加一个用户zh888
groupadd blog //新建一个blog组
例如:
useradd -G blog zh //表示创建一个新用户zh,同时加入blog附加组中。
useradd -d /var/ftp/pub -M ftpadmin //创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自家目录(-M)
usermod -G blog zh888 //表示将zh888添加到附加组blog中去。
userdel ftpadmin //表示删除ftpadmin用户
userdel -r zhh888 //表示删除zh888和/home中的目录一起删除。
groupdel blog //表示删除blog组。
usermod -a -G palmgroup pradmin
//将用户pradmin附加到palmgroup组
创建用户之后就要给用户添加密码,设置的口令的命令式passwd:
passwd 选项 用户名
passwd -l 用户名账号名//禁止用户账户口令
passwd -S 用户名//表示查看用户账户口令状态
passwd -u 用户名//表示恢复用户账号
passwd -d 用户名//表示删除用户账户口令
b. change命令:
chage是保护密码的时效这样可以防止其他人猜测密码的时间。
chage 选项 用户名
参数有 -m days, -M days ,-d days, -I days ,-E date, -W days,-l
例子:
#chage -m 2 -M 30 -W zhh//表示的意思是要求用户zhh两天内不能更改密码,并且口令最长存活期是30天,并且口令过期5天通知zhh
c. 用户和组的状态查询命令
whoami //用于显示当前的用户名称。
groups 用户名 //表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。
id //表示显示当前用户的uid gid和用户所属的组列表。
su - 用户//表示转换到其他用户,如果su表示切换到自己的当前用户。
newgrp 组名//表示转换用户的当前组到指定的附加组,用户必须属于该组才能进行。
d.更改属主和同组人
有时候还需要更改文件的属主和所属的组。只有文件的属主有权更改其他属主和所属的组,用户可以把属于自己的文件转让给大家。改变文件属主用chown命令
a. chgrp palmgroup file1.txt
//将file.txt的所属组改为palmgroup
b. chown -R palmgroup git/palmgroup.git 或者 chgrp -R palmgroup git/palmgroup.git //将palmgroup.git文件夹及子目录文件的所属组改为palmgroup
chown zh888 files//把文件files属主改成zh888用户。
chown zh888.zh888 files//将文件files的属主和组都改成zh888。
chown -R zh888.zh888 files//将files所有目录和子目录下的所有文件或目录的主和组都改成zh888.
e.设置文件的目录和目录生成掩码
用户可以使用umask命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目录的访问权限。
umask [a1a2a3]
a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。
umask 022//表示设置不允许同组用户和其他用户有写的权限。
umask //显示当前的默认生成掩码。
f.特殊权限的设置
SUID SGID 和sticky-bit
除了一般权限还有特殊的权限存在,一些特殊权限存在特殊的权限,如果用户不需要特殊权限一般不要打开特殊权限,避免安全方面的问题。
g.查看
用户列表文件:/etc/passwd
用户组列表文件:/etc/group
查看系统中有哪些用户:cut -d : -f 1 /etc/passwd
查看可以登录系统的用户:cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
查看用户操作:w命令(需要root权限)
查看某一用户:w 用户名
查看登录用户:who
查看用户登录历史记录:last
h.设置用户为root权限:
修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:
tommy:x:500:500:tommy:/home/tommy:/bin/bash
18.目录权限:
当执行ls -l 或 ls -al 命令后显示的结果中,最前面的第2~10个字符是用来表示权限。第一个字符一般用来区分文件和目录:
-rw-r--r-- 1 root root 12K 8月 15 23:18 conkyrc.sample
drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop
第一个字符:
d:表示是一个目录,事实上在ext2fs中,目录是一个特殊的文件。
-:表示这是一个普通的文件。
l: 表示这是一个符号链接文件,实际上它指向另一个文件。
b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件。
s、p:这些文件关系到系统的数据结构和管道,通常很少见到。
第2-10个字符中,每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。这三个一组共9个字符,代表的意义如下:
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
-:表示不具有该项权限。
19.使用chmod和数字改变文件或目录的访问权限
rw-rw-r--,那么转换成二进制数就是110 110 100,再每三位转换成为一个十进制数,就得到664,
因此我们执行命令:a修改文件权限. chmod 664 a.txt; 修改目录权限: chmod -R 775 /home/user
第一个域包含了读写权限,第二个域包含了文件的硬连接[硬链接(hard link, 也称链接)就是一个文件的一个或多个文件名。
多数文件系统可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。一个文件有几个文件名,就说该文件的链接数为几。
这个与软链接不同,软连接是指向文件名的文件。删除所有硬连接才能删除文件。删除被软连接的指向的文件(如果只有一个硬连接)就可以删除文件本身。——译者注]个数,
第三个域显示了文件的属主信息。第四个域显示的文件的用户信息。第五个域显示了文件的字节大小。
第六、七、八个域分别包括文件最后修改时间的月,日与时间。最后,第九个域包含了文件名
20.awk命令
21.scp远程复制
scp -r /home/administrator/test/
[email protected]:/root/
22.临时配置网络
ifconfig eno16777736 down
ifconfig eno16777736 192.168.137.184
ifconfig eno16777736 up
修改路由
route add default gw 192.168.100.1 dev eth0
修改DNS
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
修改MAC物理地址
ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
22. 修改系统时间(与网路时间同步):
ntpdate time.nist.gov
查看时间 date
23.
cp -a 保留文件的原有属性
24.shell命令
$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用