linux基本命令
ls 查看目录和文件
ls -la 查看所有文件和目录详情(包括隐藏文件, -l和-a可以单独使用)
mkdir
rmdir
touch
cat
cd
rm -rf()
pwd
more
tail
1 linux命令基本操作
在linux下面: 没有提示(没有报错)就是最好的提示!!!
在linux下面: 没有提示(没有报错)就是最好的提示!!!
在linux下面: 没有提示(没有报错)就是最好的提示!!!
1.1 IP地址;
192.168.1.155 本机IP地址
127.0.0.1 本地回环地址
0.0.0.0 也是本地回环地址, 它包括了192.168.1.155和127.0.0.1
1.2 linux操作小技巧
1.tab键 用于自动补全命令/文件名/目录名
2.ctrl + l 清理终端显示
3.clear/cls 清理终端显示
4.ctrl + c 终止当前操作
1.3 创建用户命令
useradd huangwen
passwd huangwen
1.4 linux系统命令操作语法格式
命令 | 空格 | 参数 | 空格 | 【文件或路径】需要处理的内容 |
---|---|---|---|---|
rm | -rf | /tmp/* | ||
ls | -la | /home |
1.5 安装好虚拟机就要做的事情 (非常重要****************************************)
(1) 被系统自带的防火墙阻止(firewalld)
systemctl stop firewalld # 先临时关闭防火墙
systemctl disable firewalld # 再永久关闭防火墙
(2) 美国国家安全局的防火墙(selinux)
# 临时关闭
getenforce # 查看状态(0表示关闭 1表示开启)
setenforce 1/0 # 表示开启/关闭
# 永久关闭
vim /etc/selinux/config
# 修改
SELINUX=disabled
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hRlviEJ0-1577763909875)(assets/1573028722807.png)]
2 linux基本命令
2.1 PS1(重要指数**)
echo $PS1
# 修改命令提示符
PS1="[\u@\h \w \t]\$"
\$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$
2.2 更改主机名
hostnamectl set-hostname qishione
2.3 创建多个目录的命令
mkdir -p
mkdir -p /root/qishi5/gaoxin/{1,2,3} # 创建多个目录,放在大括号里面用逗号隔开,千万要注意不能有空格
touch /root/qishi5/gaoxin{1,2,3} # 创建多个普通文件
2.4 vim(重要指数*****)
vi/vim操作流程:
1. vi 打开文件 此时进入命令模式,你可以输入 i/a/o 命令,进入编辑模式
2. 在编辑模式下,开始输入字符串
3. 写完之后, 按下 esc 回到命令模式,按下 : 进入底线命令模式
4. :w 写入不退出 :wq! 写入且强制退出
底线命令模式
w 保存
q 退出
wq 保存退出
q! 无理由退出
wq! 无理由保存退出
2.5 cat命令(重要指数***)
cat -n 文件名 查看文件,并显示行号
cat 文件名 查看文件
# 追加文字到文件
cat >>/ceshi.txt << EOF
难难难 道德玄
不对知音不可谈
对了知音谈几句
不对知音枉费舌尖
EOF
2.6 more和less命令(重要指数***)
主要是用来查看大容量的文件
more /etc/passwd
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
2.7 cp命令(重要指数****)
复制文件或文件夹
复制 > copy > cp
# 移动xxx.py到/tmp目录下
cp xxx.py /tmp/
# 复制xxx.py顺便改名为tiger.py
cp xxx.py /tmp/tiger.py
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变
2.8 删除命令(重要指数****)
删除 > remove > rm
参数 -i 需要删除确认
-f 强制删除
-r 递归删除目录和内容
rm -r也有提示,因为有alias设置
alias命令查看别名
alias rm="rm -i"
2.9 alias命令(重要指数***)
当你输入rm命令时,提示"你这个饿货,不要再使用rm命令了,求你了大哥"
alias rm="echo '你这个饿货,不要再使用rm命令了,求你了大哥'"
2.10 查找命令find(重要指数***)
查找我想要的文件,过滤掉不需要的文件
-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。################
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。#############
f - 普通文件。#################
s - socket文件
# 找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"
# 找到/etc下所有名字以host开头的文件
find /etc -name 'host*'
# 找到/opt上一个名为settings.py
find /opt -name 'settings.py'
2.11 管道符"|" (重要指数****)
第一个命令输出的结果,提供给第二个命令进行过滤,还可以进行第三次或多次过滤
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PkWkmDNm-1577763909875)(assets/1573028767919.png)]
ps -ef 表示查看当前系统运行的所有进程
netstat -tunlp 表示查看当前系统开放的所有端口
ps -ef | grep lvmeatad # 过滤出所有lvmaetad关键字的进程
netstat -tunlp 查看服务器的端口占用情况
netstat -na | find "445" windows下查看并过滤出445端口的占用情况
139和445是windows下面的共享文件端口
主机IP相关:
192.168.12.139表示我的linux机器
127.0.0.1/localhost 表示我自己
0.0.0.0 表示192.168.1.197和127.0.0.1和localhost组合起来
2.12 grep命令,查找文件下有关键字的内容(重要指数****)
# 找出/etc/passwd下root用户
grep "root" /etc/passwd
# 找出网卡配置文件下的dhcp
grep "dhcp" /etc/sysconfig/network-scripts/ifcfg-ens33
grep /sbin/nologin /etc/passwd
# 找到/etc/passwd的所有与mysql有关行,行号
cat /etc/passwd |grep -n 'mysql'
2.13 head和tail命令
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
#查看前两行
head -2 /tmp/oldboy.txt
#查看后两行
tail -2 /tmp/oldboy.txt
#持续刷新显示
tail -f xx.log
2.14 which命令(重要指数****)
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
which python #python命令在哪
/usr/bin/python #命令文件绝对路径
2.15 远程COPY命令(scp) (重要指数*****)
用于linux之间的文件或目录的远程传输
语法
scp 【可选参数】 本地源文件 远程文件标记
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
scp Python-3.6.6.tgz 192.168.1.189:/opt/ # 将文件拷贝到远程机器上
scp 192.168.1.189:/opt/Python-3.6.6.tgz . # 将远程机器上的文件拷贝到本地
参数
-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目录到远程服务器上,并压缩传输
2.16 du命令,用于显示目录或文件的大小(重要指数***)
du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强
df -h 查看磁盘大小, 和占用空间
# 显示/home的总大小
du -sh /home
2.17 top命令, 动态监视进程活动与系统负载等信息(重要指数*****)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NUK9aGtm-1577763909876)(assets/1573028894875.png)]
2.18 chattr与lsattr(重要指数***)
给文件加锁,只能写入数据,无法删除文件
chattr +a test.py
chattr -a test.py
查看文件隐藏属性(查看文件是否有锁,是否有a属性)
lsattr test.py
2.19 linux时间同步(重要指数***)
//手动修改时间
date 091117152019 # 0911表示月和日, 1715表示时分, 2019表示年份
//以系统时间为基准,修改硬件时间
[root@oldboy_python ~ 10:29:07]#hwclock -w
//以硬件时间为基准,修改系统时间
[root@oldboy_python ~ 10:29:21]#hwclock -s
ntp时间服务器同步
ntpdate -u ntp.aliyun.com
2.20 小知识点(重要指数**)
lrzsz工具包(可以提供linux服务器的上传和下载)
yum install lrzsz # 下载此工具包
rz # 上传文件
sz # 下载文件
2.21 上传下载命令(重要指数*****)
wget命令用于在终端下载网络文件
参数是 wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中
2.22 开关机命令(重要指数*****)
reboot或init 6命令用于重启机器
poweroff或init 0用于关闭系统
3 VIM编辑器(**************************)
3.1 vim编辑器工作原理
3.2 vim基本操作命令
重要的标为高亮,必须要会,其他的了解就可以
3.2.1 移动光标
w(e) 移动光标到下一个单词
b 移动到光标上一个单词
数字0 移动到本行开头000004$
$ 移动光标到本行结尾
H 移动光标到屏幕首行
M 移动到光标到屏幕的中间一行
L 移动光标到屏幕的尾行
gg 移动光标到文档的首行
G 移动光标到文档尾行
ctrl + f 下一页
ctrl + b 上一页
`. 移动光标到上一次的修改行
3.2.2 查找
/tiger 在整篇文档中搜索tiger字符串,向下查找
?tiger 在整篇文档中搜索tiger字符串,向上查找
查找到关键字之后,先enter:
n 表示查找下一个关键字
N 表示查找上一个关键字
查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
% 找到括号的另一半!!
3.2.3. 复制粘贴删除命令
y 拷贝光标所在行
yn 贝以光标开始往下数n行内容
d 删除光标所在行
D 删除当前光标到行尾的内容
dG 删除当前行到文档尾部的内容
p 粘贴yy所复制的内容
x 删除光标所在的前一个字符
del键 删除光标所在的字符
u 撤销上一步的操作
3.2.4 底线命令模式
:q! 强制退出
:wq! 强制写入退出
:set nu 显示行号
: set nonu 取消显示行号
:数字 调到数字那行
随时按下esc可以退出底线命令模式
4 查漏补充:
4.1 基本补充
- ls -lh
h: 以友好的方式查看 如 T G M B
ll: 同 ls -l
- rmdir 只能删除空文件夹 rmdir -p 递归删除文件夹 从底层文件夹开始删除,遇到不为空文件夹或者最高层文件夹夹命令执行结束 相比之下 rm -r 递归删除文件夹更好用
- mkdir -p 递归创建文件夹
- 127.0.0.1 localhost 本机环回地址 只有在自己主机上才能访问
4.2 拓展补充
1.查看文件的命令比较:
(1)cat 查看纯文本文档; (长文本直接翻滚到结尾;cat>>文件<<EOF: 追加文字到文件)
(2)more less 查看长文本;(more支持百分比告知比例,往下翻页;less支持前后翻页)
(3) tail/head -n 支持(从头/从尾)选定行数查看;(tail -f : 实时刷新)
2.echo 命令
(1)用于在终端输出字符串或者变量提取后的值,格式 "echo [字符串|$变量名] "
(2)几种用法:
echo “我真帅” #直接输出
echo"胡歌真帅"> /root/1.txt $写入文件
echo $PATH $打印变量
3.sed 命令(后期详细学习)
参数用处:
p== print; d: delete ; =: 打印匹配的行号; -n 取消默认的完整输出,只要需要的; -e 允许多项编辑; -i 修改文件内容; -r 不需要转义;
sed -n ‘3p’ /root/1.txt #只打印第三行
sed -n ‘3,9p’ /root/1.txt #打印文件的第3-9行
sed -n ‘$p’ /root/1.txt #打印最后一行
sed -n ‘/hhh/,/omc/p’ /root/1.txt #显示包含"hhh"的行到包含"omc"的行之间的行
sed -i ‘s/root/ROOT/g’ /root/1.txt #用ROOT替换root s: 查找选中 g:全部替换
sed -i -e ‘li happy’ -e ‘$a new year’ /root/1.txt #在文件第一行添加happy,文件结尾添加new year
sed ‘3,9d’ /root/1.txt 删除3-9行 只是不显示
sed
-n -e ``'3,6p'
-e ``'s/reboot/shutdown/g'
/root/1.txt #打印3到6行的内容,并匹配reboot替换为shutdown