Centos 7常用命令

CentOS 7目录结构详解:http://blog.csdn.net/longxu0872/article/details/71168340

注:Linux中 ‘a/’ 表示 a 目录下的文件,不包括 a 目录本身;'a' 才表示 a 目录本身。


系统

## 查看当前系统版本
cat  /etc/redhat-release

## 查看内存使用
free -m
## 打印输出:
##                           total        used        free      shared  buff/cache   available
## Mem(物理内存统计):           3440         213        2276         168         950        2778
## Swap(硬盘交换分区使用情况):    0           0           0

## total:物理内存总量
## used:已使用内存,其中可能包含部分缓存(buffers与cache)并未实际使用
## free:空闲内存
## shared:共享内存
## buff/cache:系统分配但未被使用的buffers数量;buffer/cached是为了提高文件读取性能,系统需要时可被回收使用,因此系统可用内存 = free + buffers + cached;
## available:系统分配但未被使用的available数量


查看和杀死进程

## 查看指定端口的进程
netstat -ntul | grep -w 8080

## 杀死监听在指定端口上的进程
kill -9 $(lsof -t -i:8080) 2>&1


查看端口占用

netstat -lnp|grep 8000


实时滚动输出文件内容

 tail -f 文件


常用操作

## 修改用户密码
passwd <username>

## 退出登录
exit

## 查看服务器当前时间
date

## 进入root模式
sudo <command>

## 查看当前目录大小
du -h --max-depth=1 ./


文件/目录的创建、删除、占用空间

## 创建文件/目录
mkdir <目录/文件名> 
##创建脚本
vi  <文件名>

## 删除文件/目录,每删除一个文件都会询问你
rm -ir <文件/目录>
## 递归删除文件/目录,好处是能看到被删除的文件,缺点是对于文件夹删除特别慢
rm -r  <文件/目录>
## 彻底删除文件夹
rm -rf <文件/目录>

## 分别列出当前目录下所有目录或文件的大小(sort -rh用于将结果按大小排序)
du -sh * | sort -rh
## 查看指定文件或文件夹大小
du -sh /var/www/html
## 查看当前目录的大小
du -sh

文件的复制粘贴

## 复制文件到当前目录(./表示当前目录)
cp test/test.wav  ./

## 文件夹复制,如下:递归复制 /a 目录下的所有文件到 /b 目录中 
cp -r /a/* /b/

## 强制覆盖复制指定文件,并不显示覆盖确认的提示, 选项 -f 表示强制覆盖复制
## 要想在覆盖复制时,不显示覆盖确认的提示,就必须使用/bin/cp,而不是使用cp;因为有些服务器会默认增加别名 alias cp=’cp -i’,即执行 cp 相当于执行 cp -i,选项 -i 就是在复制前提示确认 
/bin/cp -f /a/b.json /c/b.json

VIM文件编辑

## vim搜索,aaa是要搜索的字符串
/aaa

查询、设置文件权限和属主

## 修改文件/目录对所有用户有权限
chmod 777 /home/test
## 修改文件/目录的权限,仅为当前用户添加可执行权限
chmod +x -R /home/test
## 查询当前目录下文件所属组、用户、权限
ls -lh 
## 查看所有文件,包括隐藏文件
ls -a
## 查询指定目录所属组、用户、权限
ll /var
## 修改指定目录权限
chmod 664 /var/www/html
## 修改指定目录及该目录所有文件权限
chmod 664 -R /var/www/html
## 修改文件或目录属主
sudo chown yangww  fdas/
## 修改文件或目录属组
sudo chown :yangww fdas
## 修改文件或目录的属主和属组
sudo chown yangww:yangww fdas
## 修改指定目录及该目录所有文件属主和属组
sudo chown -R yangww:yangww fdas


查看用户信息

## 查看所有用户组
cat /etc/group

## 查看所有用户
cat /etc/passwd
## apache:x:48:48:Apache:/usr/share/httpd:/bin/bash
## yangww:x:1000:1000::/home/yangww:/bin/bash
## ...

用户信息分为7段

第一段:用户名,

第二段:x代表密码,

第三段:第一个1000代表用户uid

第四段:第二个1000代表gid,

第五段:与:之间代表用户的注释信息并没有什么实质的作用,

第六段:/home/yangww代表用户的home目录,

第七段:/bin/bash表示用户的shell或者说是与其他用户交互的一个窗口,普通用户和root的shell都是“/bin/bash”,其他用户的shell是"/sbin/nologin",表示它们是不能登录的。


创建用户

## 创建一个用户名为:linuxidc
adduser linuxidc
## 为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:
passwd linuxidc

新创建的用户是不能使用sudo命令的,详见下面:授权普通用户临时拥有root权限


授权普通用户临时拥有root权限

默认情况下普通用户是无法通过sudo暂时切换到root用户

## 切换到root用户
su
## 修改/etc/sudoers文件
vim /etc/sudoers

## 在“root  ALL=(ALL)   ALL”这一行下面,再加入一行:
xulei  ALL=(ALL)     ALL  
## 其中,xulei为你当前使用的用户名,也就是普通用户的用户名

## 退出root
exit


授权普通用户无密码使用sudo

有些命令必须使用sudo(即,临时root用户)才能执行。通常情况下,普通用户在使用sudo时,需要输入root用户密码;但可以通过如下配置,使普通用户在使用sudo执行指定命令时,无须输入密码。


文件夹 /etc/sudoers.d/ 可以包含多个文件,每个文件包含用户无需指定密码即可使用sudo运行的命令列表。

1>. 现在,为普通用户myuser创建一个sudoers文件:

sudo visudo -f /etc/sudoers.d/myuser

3>. 在该sudoers文件中写入命令列表

myuser ALL=(ALL) NOPASSWD:/bin/systemctl reload nginx,/bin/systemctl stop nginx

命令列表以逗号分隔,也可以一行添加一个

以上,表示允许用户 myuser 重载和停止nginx服务,myuser执行这些命令时,必须使用sudo,否则 /etc/sudoers.d/myuser 文件永远不会被使用,如:

sudo systemctl reload nginx
sudo systemctl stop nginx


解压ZIP

## 安装unzip
yum install zip unzip

## 解压,详见:https://www.runoob.com/linux/linux-comm-unzip.html
## -q:不显示任何信息,-o:覆盖原文件时不询问,-d<目录>:指定文件解压缩后所要存储的目录。
unzip -qo test.zip
unzip -qo test.zip -d /var/www/html


## 压缩
## 压缩文件夹/home/html,压缩后的名称为html.zip
## -q:不显示压缩过程,-r:递归压缩文件夹下所有文件,详见:https://www.runoob.com/linux/linux-comm-zip.html
zip -q -r html.zip /home/html

## 加密压缩
zip -er archive.zip /path/to/directory/


防火墙

## 开启防火墙
systemctl start firewalld

## 关闭防火墙
systemctl stop firewalld

## 查看防火墙状态:not running或running
firewall-cmd --state

## 永久禁用防火墙
systemctl disable firewalld.service

## 查看已防火墙放开的端口
firewall-cmd --list-ports

## 放开指定端口
#### –zone #作用域
#### –add-port=80/tcp #添加端口,格式为:端口/通讯协议
#### –permanent #永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent

## 删除指定端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent

## 重启firewall
firewall-cmd --reload 


wget下载命令

wget使用详解

## 示例1:使用wget下载单个文件
wget http://www.linuxde.net/testfile.zip


## 示例2:下载并以不同的文件名保存(推荐)
wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080

wget默认会以最后一个符合/的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

错误:下面的例子会下载一个文件并以名称download.aspx?id=1080保存:

wget http://www.linuxde.net/download?id=1

即使下载的文件是zip格式,它仍然以download.php?id=1080命令。

正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:

wget -O wordpress.zip http://www.linuxde.net/download.aspx?id=1080



举报

© 著作权归作者所有


0