Liunx

1
2
时间和空间是不可调和的矛盾
硬件和软件在逻辑上是等效的

基础命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1. 获取登录信息 -- w/who/last(查看登录历史记录)

2. 查看自己使用的Shell -- ps
ps -aux | grep nginx 查看进程

3. 查看命令的说明 -- whatis
[root@ping ~]# whatis python

4. 查看命令的位置 -- which / whereis

5. 查看帮助文档 -- man / info / apropos / help
man 关键字 查看帮助文档
help -m 关键字 显示较详细的使用方法

6. 切换用户命令 -- su

7. 以管理员身份执行命令 -- sudo

8. 登入登出相关 -- logout / exit / adduser / userdel / passwd / ssh
ssh root @47.106.99.221 远程访问服务器

9. 查看系统的主机名 - uname / hostname
[root@ping ~]# cat /etc/centos-release 查看服务器版本号
CentOS release 6.8 (Final)

10. 重启和关机 -- reboot / init 6 / shutdown / init 0

文件操作

1. 查看/切换目录 — pwd / cd / ls

1
2
3
4
5
6
7
8
9
10
11
12
13
14
pwd -- print working directory 打印当前工作目录

cd -- 切换路径
./ 当前路径
../ 上一级路径
/home/gavinliu/ /开头 绝对路径
../../ 相对路径
cd / 根目录

ls -- list directory contents 查看目录内容
ls -l 查看目录详情
ls -a 查看所有目录详情(显示影藏文件(.开头的文件/文件夹))
ls -R 递归展开目录
ls -r 倒序展开

2. 创建/删除目录 — mkdir / rmdir

1
2
3
mkdir -- make directory 创建文件目录

rmdir -- remove directory 移除文件目录(只能删除空文件夹)

3. 创建/删除文件 — touch / rm

1
2
3
4
5
6
7
8
rm -- remove 删除文件/文件夹
rm -r 递归删除
rm -i 交互式
rm -f false

touch 文件名
文件不存在 --> 创建空文件
文件存在 --> 更新文件最后的访问和修改时间

4. 查看/搜索文件内容 — cat / head / tail

1
2
3
4
5
6
7
8
cat -- 查看文件内容

more -- 分页查看 more index.html / cat index.html | more(管道)
ls -l | grep hello 查看带hello的文件

head -- 查看文件开头部分 head -10 index.html(查看文件前10行)

tail -- 查看文件末尾部分 tail -10 index.html(查看文件最后10行)

5. 查看文件及内容 — find / grep

1
2
3
4
5
6
find -- 搜索文件 --> 显示文件 目录/文件

grep -- 搜索文件内容
grep div index.html / cat index.html | grep div (匹配div)
grep '<div .*>' index.html -n(搜索<div>,并给出行号)
grep '<div .*>' index.html / -R -n > result.txt 2> error.txt &

6. 拷贝移动文件 — cp / mv

1
2
3
4
5
6
7
cp -- 拷贝文件 cp file path
scp -- 拷贝文件到服务器
scp hello.txt root@119.27.166.245:~/abc/

mv -- 移动文件 格式: mv file path
移动文件夹 格式: mv dir path
重命名 格式: mv hello.py helloworld.py

7. 符号链接 — ln

1
2
3
ln -- link链接
ln 创建硬链接(文件引用) ln index.html ~/abc/index1.html
ln -s file softlink 创建软连接(快捷方式) ln -s /etc/centos-release sysver

8. 压缩 / 归档 — gzip / gunzip / xz / tar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.xz .gz 压缩文件

gunzip -- 解压缩
gunzip redis-3.2.11.tar.gz --> redis-3.2.11.tar
gzip -- 压缩
gzip dog.jpg --> dog.jpg.gz

xz -- 压缩/解缩压
xz -d 解压缩
xz -z -num(压缩比) 压缩 xz -z dog.jpg --> dog.jpg.xz

tar -- 归档/解归档
tar -cf file 归档(静默处理) tar -cvf redis-3.2.11.tar
tar -xf file 解归档(静默处理) tar -xvf redis-3.2.11.tar
tar -tf file 查看归档文件内容 tar -tf redis-3.2.11.tar

9. 其他工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
wget -- 在网上下载文件 wget http://www.taobao.com/index.html
wget -O 文件重命名

wc -- word count 数单词数/行数
wc -w 单词 wc -w index.html
wc -l 行数 wc -l index.html

uniq -- 去重(相邻行)

sort -- 排序(不改变原文件)

diff -- 版本比较(文件)

file -- 分析文件性质(根据文件内容区分)
file hello.txt --> hello.txt: UTF-8 Unicode text

echo -- 回声命令
echo $PATH 查看变量的值
echo "print('hello')" > hello.py 创建文件并向里面添加内容

10. 文件权限

1
2
3
4
5
6
7
8
9
10
11
12
13
所有者u  同组用户g  其他用户o
rwx r-x r-x
rwx rwx rwx
111 111 111
7 7 7
111 7
110 6
100 4
r read 读
w write 写
x excute 执行
chmod u+x,g+x,o+x guess1.py 给所有者添加权限
chmod 777 guess1.py 给所有者添加权限

管道和重定向

1
2
3
4
5
6
7
8
9
10
1. 管道 -- |
ls -l | grep hello 查看带hello的文件

2. 重定向 -- >
> 输出重定向
2> 存放错误文件(覆盖)
>> 追加输出重定向
< 输入重定向

& 在后台执行

其他程序

1
2
3
4
5
6
7
8
9
wall -- 向所有人发消息

mssg n/y -- 拒绝/同意接收消息

alias -- 命令重命名 --> unalias
alias foo='tar -xf'

history -- 查询所有执行过的命令
!num -- 执行命令

liunx目录

1
2
3
4
5
6
7
/ 根目录下面文件夹
root -- 用户主目录(超级管理员)
home -- 用户主目录(其他管理员)
ect -- 存储linux系统配置/软件配置
usr --
B -- Byte 字节
b -- bit 位

包管理工具 — 安装软件

yum

1
2
3
4
5
6
7
8
yum - yellowdog updater modified 包管理工具
yun install / yum remove 安装 / 卸载
yun list / yum search 查看 / 搜索
yum list installed 显示所有已安装软件
yum install nginx 安装nginx
yum nginx search 搜索软件
yum install mariadb-server mariadb 安装数据库服务器 数据库客户端
yum update 更新

rpm

1
2
3
4
5
RPM - redhat package manager 红帽子的包管理工具
rpm -i 静默安装 / -ivh 显示安装过程
rpm -e 移除
rpm -qa 显示所有已安装的包
rpm -qa | grep jdk | xargs rpm -e 删除管道过滤出来的jdk (xargs 将xargs前面的结果作为后面命令的参数使用)

源码安装

1
2
3
4
5
6
tar.gz / tar.xz
ungizp / xz -d 解压缩
tar -xvf 解归档
配置PATH环境变量
临时 export ...
永久 vim .bash_profile --> 添加环境变量

nginx

1
2
nginx 启动nginx
nginx -s stop | quit | reopen | reload

redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
redis.conf
61 -- bind 172.27.0.11 内网地址
84 -- port 6379 默认端口
480 -- requirepass liutc1014? 删除注释,修改密码

redis-server 服务器
redis-server myredis.conf 启动redis服务器
redis-server myredis.conf > myredis.log & 后台运行
关闭服务器
jobs --> fg %1 --> ^c 关闭redis服务器(自动保存)
kill 进程号 关闭redis服务器 不保存

redis-cli 客户端
redis-cli -h 172.27.0.11(内网地址) -p 端口号(默认端口可以省略) 连接服务器
auth liutc1014? 验证
ping 查看是否连接

查看进程 / 任务

1
2
3
4
5
6
7
8
9
jobs -- 查看有无后台任务在执行
fg %1 将后台任务放到前台执行
^z 将放到前台执行的任务放到后台并停止执行
bg %1 将放到前台执行的任务放到后台执行

ps -aux 查看已启动进程
ps -aux | grep ngnix
netstat -nap 查看进程号
netstat -nap | grep 80(端口号)

systemctl — 服务管理工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1. systemctl --> CentOS7
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

1. service -- (CentOS 7 以前)
service firewall start
service firewall status 查看状态

CentOS 7打开关闭防火墙端口

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1. firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld

2. 配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off

3. 配置端口
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入 firewall-cmd --reload
查看 firewall-cmd --zone= public --query-port=80/tcp
删除 firewall-cmd --zone= public --remove-port=80/tcp --permanent

mac终端与服务器下上传下载内容

1
2
3
4
sftp root@IP 链接服务器
put 上传文件
get 下载文件
bye 退出
1
2
3
4
DNS - 域名翻译成IP地址
HTTP服务器 -
LAMP = Linux + Apache + MysQL + PHP
LNMP = Linux + Nginx +MySQL + Pythg

最后更新: 2018年05月26日 16:50

原始链接: http://yoursite.com/2018/05/12/Linux命令操作/

× 请我吃糖~
打赏二维码