参考:
https://www.cnblogs.com/yjd_hycf_space/p/7730690.html
http://man.linuxde.net/
https://blog.csdn.net/u010893262/article/details/78990298
1. 压缩解压文件
常用三种格式:tar封包;gz压缩;bz2压缩;
压缩大小:bz2<gz<tar
使用时间:bz2>gz>tar
tar:
压缩:tar -cvf result.tar.gz sourceFile
解压:tar -xvf sourceFile.tar.gz
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
result:自定义压缩后的名字;
.tar是打包;
.gz是压缩
sourceFile :源文件
x:解压
gz:
压缩:gzip file1 (压缩一个叫做 'file1'的文件 )
解压:gunzip file1.gz (解压一个叫做 'file1.gz'的文件 )
gzip -9 file1 最大程度压缩
bz2:
压缩:bzip2 file1(压缩一个叫做 'file1' 的文件 )
解压:bunzip2 file1.bz2 (解压一个叫做 'file1.bz2'的文件 )
其他:
raw:
压缩:rar a file1.rar test_file
解压:unrar x file1.rar
zip:
压缩:zip file1.zip file1
解压:unzip file1.zip
混合:
压缩:tar -jcvf archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
解压:tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包
压缩:tar -zcvf archive.tar.gz dir1 创建一个gzip格式的压缩包
解压:tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包
2. rpm命令
rpm命令是RPM软件包的管理工具。
安装rpm软件包:rpm -ivh your-package.rpm;
卸载rpm软件包:rpm -e proftpd-1.2.8-1(不能有.rpm)
查看相关信息:
rpm -qa :列出所有安装过的rpm包
-h:套件安装时列出标记;
-i:显示套件的相关信息;
-v:显示指令执行过程;
-e<套件档>或--erase<套件档>:删除指定的套件;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-a:查询所有套件;
3.文件和文件夹管理
创建文件夹
mkdir 123 test
123是权限;
test是文件夹名字;
删除文件夹
rmdir test
创建文件
vi test
删除文件
rm -rf test
r:递归
f:强制
移动文件
mv source destination
mv 文件或者文件夹 目的地
4. 时间
date
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
--help:在线帮助;
--version:显示版本信息。
date[+FORMAT]
%Y:四位年份
%y:两位年份
%m:月
%M:分钟
%d:日
%h:英文简写的月
%H:时
%S:秒
%s:现在距离1970年1月1号0点0分(unix元年)的秒数,timestamp(时间戳)
%D:月/日/年
%F:年-月-日
%T:时:分:秒
实例:
date +"%Y-%m-%d"显示时间
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"将时间转换格式
date -d "+1 day" +%Y%m%d输出一天后的时间
date -s "2012-05-23 01:01:01"修改设定时间
cal
-1 显示一个月的月历
-3 显示系统前一个月,当前月,下一个月的月历
-s 显示星期天为一个星期的第一天,默认的格式
-m 显示星期一为一个星期的第一天
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历的所有年月份
5. 群组与权限
1)文件权限、用户、群组展示
第一列:
-rwxr--r--
第1位:-表示是文件;d是目录(如文件夹或..);l是链接;c是串行化设备(鼠标等);b是存储设备;
第234位:该用户权限;r读;w写;x执行;
第567位:该用户所在群组权限;r读;w写;x执行;
第8910位:其他群组权限;r读;w写;x执行;
第二列:
文件被引用的次数;
第三列:
这个文件的所属用户
第四列:
这个文件的拥所属群组
第五列:
容量大小,默认单位为bytes;
第六列:
日期
第七列:
文件名
2)用户及群组管理
/etc/passwd 用户信息(abc:x:502:502::/home/abc:/bin/bash---用户、密码、UID、GID、用户信息说明栏、全路径、shell)
/etc/shadow 用户密码(fsy:$1$giEMo6.Y$rY2i/S7K2UXHTvxJ.VuEL.:15201:0:99999:7:::---用户名、密码。。。)
/etc/group群组信息(root:x:0:root,admin---用户、密码、GID、群成员)
/etc/gshadow群管理员(root:::root---组名、密码栏(开头为!表示无合法密码,所以无群组管理员)、群组管理员帐号、群成员)
1、新增用户:useradd abc
2、更改密码:passwd abc
3、删除用户 :userdel -r abc( '-r' 排除主目录)
4、新增群组:groupadd group1
5、更改群组:groupmod -g 205 -n group2 group1(将group1改为group2,并修改GID为205);gpasswd testgroup(修改密码)
6、删除群组:groupdel group2
7、创建群组管理员:gpasswd -A group3 testgroup(给组testgroup设置管理员为group3)
8、管理员添加组成员:gpasswd -a group4 testgroup(增加成员group4)
3)权限修改
chmod
u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。
实例:
三种表示法:=;+;数字
chmod u+x,g+w f01 //为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01
chmod 764 f01 (4+2+1=7,764分别代表了用户、组、其他)
chmod a+x f01 //对文件f01的u,g,o都设置可执行属性
chmod +x xxx.sh //一般 .sh 的直接添加x(可执行属性) 然后./xxx.sh就可以执行了
chown
只有超级管理员才能使用,将文件直接交给某个用户;
chown -R user:market f01 //把文件f01给uesr,添加到market组
6. grep
grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep -v "match_pattern" file_name
-c 计算符合范本样式的列数。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。(或者egrep)
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-v 反转查找。
-o 只输出文件中匹配到的部分。
--color=auto标记颜色
grep admin /etc/passwd /etc/shadow /etc/group分别查出该用户的及密码和群组的信息;
7. file
file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。file命令用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
file test.txt (test.txt: UTF-8 Unicode text)
-b:列出辨识结果时,不显示文件名称;
-L:直接显示符号连接所指向的文件类别;
-v:显示版本信息;
8.jdk、tomcat、mysql环境安装配置
jdk
- 查询安装的jdk和正在使用的版本
rpm -qa|grep jdk
java -version
- 卸载原始jdk版本(除了copy-jdk-configs-3.3-3.el7.noarch外其他四个都卸载)
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
- 下载安装配置jdk
可以直接下载或者从windows中移过来使用;
解压下载好的压缩包
tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local/java(没有Java文件夹要先新建)
配置环境变量:
vim /etc/profile将下面的内容放入文件最下方
#java environment
export JAVA_HOME=/usr/local/java/jdk1.7.0_80/
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
source /etc/profile让修改立即生效;
tomcat
- 下载安装(在官网找到后,右键复制链接地址,然后使用wget命令)
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.91/bin/apache-tomcat-7.0.91.tar.gz
tar -zxvf apache-tomcat-7.0.91.tar.gz -C /usr/local/tomcat
- 启动关闭查看日志
(当前目录/usr/local/tomcat)
./apache-tomcat-7.0.91/bin/startup.sh
./apache-tomcat-7.0.91/bin/shutdown.sh
cat ./apache-tomcat-7.0.91/logs/catalina.out
关闭防火墙,或者开放8080端口,在虚拟机外登陆tomcat页面查看是否启动成功;
mysql
参考http://www.cnblogs.com/qq1272850043/p/6269703.html#commentform
9.防火墙
- 查看状态,关闭,开启
service iptables start //开启
service iptables stop //关闭
service enable iptables //设置开机启动
开放8080端口(这样在开启防火墙的状态下,可以访问8080)
vim /etc/sysconfig/iptables
在文件中22端口下加入8080
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
/etc/init.d/iptables restart重启
/etc/init.d/iptables status查看
centos7中systemctl替换service,firewalld替换iptables
systemctl start firewalld //开启
systemctl stop firewalld //关闭
systemctl status firewalld //状态
systemctl enable firewalld //设置开机启动
systemctl disable firewalld //设置开机不启动
开放8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent(增加端口)
firewall-cmd --reload(更新)
firewall-cmd --zone=public --list-ports(查看)