![]()
1、前言
# IP地址
192.168.1.151 # 本机IP地址
127.0.0.1 # 本地回环地址
0.0.0.0 # 本地回环地址,包括前两者
# Linux 操作小技巧
tab 键 # 用于自动补全命令/文件名/目录名
CTRL + l # 清理终端显示
clear/cls # 清理终端显示
CTRL + c # 终止当前操作
# 创建用户命令
useradd xiaohu
passwd xiaohu
Linux 系统命令操作语法格式
| 命令 |
空格 |
参数 |
空格 |
【文件或路径】需要处理的内容 |
| rm |
|
-rf |
|
/tmp/* |
| ls |
|
-la |
|
/home/ |
2、Linux 命令:
# 重点!!!
部分用户喜欢用绝对路径的同时也用相对路径创建,但
/onepiece 和 root 下的onepiece是不一样的!!!
/root/onepiece 才等于 root 下的onepiece
# 创建多个目录
# 在test下创建a,b,c,d 四个目录
mkdir -p test/{a,b,c,d}
# 在当前目录下创建a,b,c,d 四个txt文件
touch {a.txt,b.txt,c.txt,d.txt}
# 递归创建文件夹a/b/c/d/e
mkdir -p a/b/c/d/e
# 查看命令
ls /test # 显示/test 下的内容
#cat 命令
cat -n 文件名 # 查看文件,并显示行号
cat 文件名 # 查看文件
cat >> onepiece/a.txt <<EOF # 不能在onepiece下面添加,要在其上级,有待考究
111
EOF
# more和less命令
# 按下空格space 是翻页
# 按下b 键是上一页
# 回车键向下读取内容
# cp 命令
# 复制 > copy > cp
# 复制xxx.py 到 onepiece 目录下
cp xxx.py onepiece/ # onepiece前面是否有斜杠则表示在根目录下创建onepiece并复制,注意!
# 复制xxx.py 顺便改名为ddd.py
cp xxx.py tmp/ddd.py
# -r 递归,复制目录以及目录的子孙后代
# -p 复制文件,同时保持文件属性不变
# -a 相当于-pdr,类似于windows 系统的复制快捷方式
cp -r onepiece test1 # 递归复制onepiece下的全部文件为test1(当前目录)
cp main.py mian.py.bak # 备份
# 移动命令
mv test /onepiece/a # 移动test 到onepiece的a文件下
mv test test1 # 文件test 改名为test1
# 删除命令
rm -i 需要删除确认
-f 强制删除,仅能删除文件,不能删除目录
-r 递归删除目录和内容
# 如下
rm test.py
rm -f test.py
rm -rf test # 该方法是无提示强制删除
# Linux里如何找到需要的文件 例如 oldboy.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数
-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
find /tmp/ -type f -name "oldboy.py" # 未用
# 找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt" # 未用
# 找到/etc下所有名字以host开头的文件
find /etc -name 'host*'
# 找到/opt上一个名为settings.py
find /opt -name 'settings.py'
# 别名alias 命令
alias # 查看系统别名
# 让系统显示 do not use rm
echo do not use rm
# 设置rm别名
alias rm='echo do not use rm'
# 设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
vim /etc/profile #编辑文件
G 快速到达最后一行
o 当前行下一行,创建一个新行,进入编辑模式
source /etc/profile #读取文件(合同生效)
---------------
# 取消别名
unalias rm
# 管道命令(过滤)
Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
常见用法:
ps -ef|grep "python" # 检查python程序是否启动
ls /tmp|grep '.txt' # 找到/tmp目录下所有txt文件
netstat -tunlp # 查看服务器的端口占用情况
netstat -na | find "445" windows下查看并过滤出445端口的占用情况
139和445是windows下面的共享文件端口
# grep 命令,查找文件下有关键字的内容(筛选)
找出/etc/passwd下root用户所在行,以及行号,显示颜色
cat /etc/passwd |grep '^root' --color=auto -n
找出/etc/passwd所有不允许登录的用户
grep /sbin/nologin /etc/passwd
找到/etc/passwd的所有与mysql有关行,行号
cat /etc/passwd |grep 'mysql' -n
# head和tail命令
# head显示文件前几行,默认前10行
# tail显示文件后几行,默认后10行
# 查看前两行
head -2 /tmp/oldboy.txt
# 查看后两行
tail -2 /tmp/oldboy.txt
# 持续刷新显示
tail -f xx.log
# which命令 用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
which python #python命令在哪
/usr/bin/python #命令文件绝对路径
# 远程COPY命令 用于linux之间的文件或目录的远程传输
scp 【可选参数】 本地源文件 远程文件标记
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩
scp -v -r /opt 192.168.1.155:/tmp/
# 递归拷贝opt目录到远程服务器上(显示详细输出,如debug信息)
scp -r /opt 192.168.1.155:/tmp/ # 递归拷贝opt目录到远程服务器上
scp -C -r /opt 192.168.1.155:/tmp/ # 递归拷贝opt目录到远程服务器上,并压缩传输
ssh IP # xshell密码登陆
ssh root@IP # root用户登陆
# du 命令,用于显示目录或文件的大小
du 【参数】【文件或目录】
-s # 显示总计
-h # 以k,M,G为单位显示,可读性强
df -h # 查看磁盘大小, 和占用空间
# top 命令,动态监视进程活动与系统负载等信息
# chattr与lsattr 给文件加锁,只能写入数据,无法删除文件
chattr +a test.py
chattr -a test.py
# 查看文件隐藏属性(查看文件是否有所,是否有a属性)
lsattr test.py
# Linux 时间同步
ntpdate -u ntp.aliyun.com # ntp时间服务器同步
# 小知识
# lrzsz工具包(可以提供linux服务器的上传和下载)
yum install lrzsz # 下载此工具包
rz # 上传文件
sz # 下载文件
# 上传下载命令
wget命令用于在终端下载网络文件
参数是 wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中
3、Vim编辑器
# 移动光标
w(e) 移动光标到下一个单词
b 移动到光标上一个单词
数字0 移动到本行开头
$ 移动光标到本行结尾
H 移动光标到屏幕首行
M 移动到光标到屏幕的中间一行
L 移动光标到屏幕的尾行
gg 移动光标到文档的首行
G 移动光标到文档尾行**
ctrl + f 下一页
ctrl + b 上一页
# 查找
/tiger 在整篇文档中搜索tiger字符串,向下查找**
?tiger 在整篇文档中搜索tiger字符串,向上查找**
# 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
# 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
gd # 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
% 找到括号的另一半!!**