1,文件相关。
1)创建/删除 多级目录
创建多级目录,mkdir -p test/temp
递归强制删除,rm -rf test
2)复制 目录/文件
递归复制目录,cp -r ~/test/ ./test
复制文件,cp /var/a.txt ./
- 移动 文件/目录
移动目录 mv /var/data test/data1(移动data目录, 并重命名data目录为data1)
重命名目录 mv a newa
移动文件 mv /var/a.txt ~/
重命名文件 mv /var/a.txt ~/newa.txt
cd - 进入上次操作的目录。
5)文件压缩与解压
1,.tar文件。
-c: 建立压缩档案 -x:解压 -v:显示所有过程 -z:有gzip属性的 -f: 最后一个参数,后面只能接档案名。
`使用tar命令打出来的包,成为tar包,生成tar包后,可以使用其他程序进行压缩。
1)tar包
tar -cvf sh.tar *.sh,打包当前目录下的所有.sh文件至sh.tar
解压tar包。tar -xvf sh.tar
2)tar调用gzip
tar -xcvf sh.tar.gz *.sh 打包当前目录下的所有.sh文件至sh.tar并调用gzip进行压缩
解压.gz包。tar -zxvf sh.tar.gz
- .zip包
zip sh.zip *.sh
解压zip包。unzip sh.zip
4).gz包
源文件a.tar
gzip a.tar -----> a.tar.gz
解压gunzip a.tar.gz --->a.tar`
2,登录相关
添加新用户
useradd zhanqi
passwd zhanqi
新用户加入 /etc/sudoers中。zhanqi ALL=(ALL) NOPASSWD: ALL
1)ssh 登录
ssh 用户名@ip -p 端口号
ssh zhanqi@192.168.0.62 -p 22(如果使用默认端口,可不填-p参数)
2)更改ssh登录端口。
vim /etc/ssh/sshd_config
Esc -- > 输入 / --> 输入Port(n ,下一个)--> 更改端口号。(如果是阿里云机器, 需要增加安全组)
vim /etc/ssh/sshd_config
ClientAliveCountMax 6 //最大的超时次数
ClientAliveInterval 600 //每隔600s检查一次客户端状态
systemctl restart sshd
3)配置ssh免密登录。
(本地)ssh-keygen -t rsa生成一对密钥
(服务器)useradd premha添加一个用户
在用户目录下的.ssh内,vim authorized_keys
将本地的公钥加入 authorized_keys中。
chown -R premha:premha /home/premha目录权限
chmod 600 id_rsa必须600
chmod 600 authorized_keys必须600
将用户premha加入sudoer中,或者 加入其他admin分组
usermod -a -G admin premha
sudo su 使当前用户拥有root身份,shell环境变量使用自己的,进入用户目录。可以source xxx是root的环境变量生效。
sudo su - 使当前用户拥有root身份,shell环境变量使用root用户的,进入root目录。
5)修改主机名
centos7 vim /etc/hostname
修改三种状态的主机名:hostnamectl set-hostname web001
修改本地域名解析:vim /etc/hosts
3,文件传输相关。
1)scp上传文件、目录
scp上传文件。scp -P 端口 /var/ROOT.war zhanqi@ip:/home/zhanqi
scp上传目录。scp -r -P 端口 /var/temp zhanqi@ip:/home/zhanqi
2)scp下载文件、目录
scp下载文件。scp -P 端口 zhanqi@ip:/home/zhanqi a.csv ./
scp下载目录。scp -r -P端口 zhanqi@ip:/home/zhanqi/data ./data
4,mysql导出数据到csv
1)mysql -h xxx -uroot -p databaseName < input.sql > output.csv
2)使用scp下载CSV到本地。
5,grep命令
grep -Ev '#|^$' filename 排除空行和注释行
eg: cat -n /usr/local/tomcat/xxx.out | grep "msg" | head -1(tail -1), 取匹配到的第一或者最后一条。
grep ' "jz ' select.sql > new.sql 过滤文件,重定向到另一个文件
grep -v ' "jz ' select.sql > new.sql 过滤不包含字符串的文件,重定向到另一个文件
grep -A 5 可以显示匹配内容以及后面的5行内容
grep -B 5 可以显示匹配内容以及前面的5行内容
grep -C 5 可以显示匹配内容以及前后面的5行内容
grep $'\t'23$'\t' a.csv 匹配2017-09-01 00:00:00 23 0
的行
grep -v '^$' filename 排除空行
6,yum
1)yum(
Yellow dog Update, Modified
)是一个软件包管理器,为了解决linux系统上的依赖关系而存在的。
2)yum源是一个目录,yum从指定目录自动下载rpm包并安装,能够很好的解决依赖关系。如http://nginx.org/packages/centos/7/x86_64
,两个目录,一个包含rpm包
,一个包含yum的索引文件,包含rpm包的信息,用于解决依赖关系。(服务器存放了所有的rpm软件包,以及清单文件,yum下载分析清单文件,并且一次性将所有的依赖rpm包下载下来
)
3)执行yum时,只会读取/etc/yum.repos.d下的所有.repo文件。
使用yum安装基础的软件包
);epel-Aliyun.repo源中包含EPEL (Extra Packages for Enterprise Linux)为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux.(使用yum来安装额外的软件包
)4)yum命令
yum list all ##列出所有安转包
yum list installed ###列出已经安装的
yum list available ###列出没有安装的
yum remove software ###卸载软件
yum install software ###安装软件
yum search 关键字 ###搜索与关键字相关的软件
yum whatprovides 文件 ###搜索包含此文件的包
yum reinstall software ###从新安装软件
yum localinstall 第三方软件 ##安装该软件并解决依赖关系
yum info software ###查询软件信息
yum groups list ###列出软件组
yum groups install ###安装组
yum groups remove ###卸载组
yum groups info ###查看组信息
yum repolist all ##列出仓库列表
5)yum下的一些变量值。
$basearch == arch命令
机器CPU类型
(eg:x86_64)$releasever == rpm -qi centos-release
当前系统的发行版本
(Version : 7)6)rpm命令。
当我们要安装的软件在官方镜像中没有时,我们需要下载rpm包,使用rpm(软件管理工具)来安装,如果有依赖,则一个个下载安装。
man rpm