基本命令
clear | 清屏(Ctrl + l) |
pwd | 显示用户当前所在的目录 |
su 用户名 | 切换用户(root->其他用户,不需输入密码,反之需要) |
uname -a | 用于显示系统信息 |
ps -ef | 查看所有正在运行的进程 |
ping ip | 测试网络连通 |
date | 查看系统时间 |
ip a / ip addr | 查看ip地址 |
whoami | 查看用户当前身份 |
history | 查看输入指令的历史 |
exit | 突出当前用户 |
切换目录命令
cd ../ || cd .. | 切换到上一层目录 |
cd / | 切换到系统根目录 |
cd ~ | 切换到当前用户的家目录 |
cd - | 切换到上次所在目录 |
cd 相对 / 绝对路径 | 切换到对应目录 |
-
root用户:cd ~ 相当于cd /root
-
普通用户:cd ~ 相当于cd /home/当前用户名
关机与重启
shutdown now | 立即关机 |
shutdown -h 5 | 5分钟之后关机 |
shutdown -h 20:55 | 系统在今天20点55重启 |
poweroff | 立即关机 |
shutdown -r now | 立即重启 |
shutdown -r 5 | 5分钟之后重启 |
reboot | 立即重启 |
列出文件列表
- -a:列出目录下的所有文件,包括以 . 开头的隐含文件
- -l:列出文件和目录的详细信息( 用户、组、大小、创建时间、权限信息、文件类型 )
ls | 显示当前目录下的内容 |
ls 目录 | 查看指定目录下的文件 |
ls -l / ll | 查看该目录下的文件夹/文件详细信息 |
创建目录
mkdir 目录 | 创建文件夹 |
mkdir -p 多级目录 | 创建多级文件夹 |
touch a.txt | 创建文件(如果文件存在,将文件时间属性修改为当前系统时间) |
wget
wget 下载链接 | 下载链接内容 |
wget -P 下载链接 | 指定下载内容的存放路径 |
tree
安装:yum install tree
tree | 查看当前目录下的内容(以树状的方式) |
查看文件内容
- -n:显示行数
more 和 less可进入浏览模式
- ↑ #上一行
- ↓ #下一行
- G #最后一页
- g #第一页
- 空格 #下一页
- /关键词 #搜索关键词
退出浏览模式,回到Linux命令行模式
- q #退出
cat a.txt | 查看a.txt的所有内容(适合查看小文档) |
more | 空格显示下一页数据,回车显示下一行的数据,按q/ctrl C退出查看 |
less | 比more多了PgUp 和 PgDn 进行滚动功能,按q/ctrl C退出查看 |
tail a.txt | 展示a.txt文件后十行内容 |
tail -n -10 a.txt | 查看a.txt后10行数据 |
tail -n +20 a.txt | 查看到a.txt文件第20行到末尾 |
tail -f a.txt | 实时滚动显示a.txt的最后10行信息(默认10行) |
删除文件
- -r:递归删除(删除目录)
- -f:强制删除(不询问)
rm a.txt | 删除文件,需要用户确认,y/n |
rm -rf aaa | 删除目录aaa |
rm -rf * | 删除当前目录下的所有文件和目录 |
rm -rf /* | 自杀(删库跑路) |
总结:一般就用rm -rf + 文件/目录名/压缩包,文件、目录和压缩包都能删除。
复制和剪切
- cp:复制( 目录要带着 -r )
- mv:剪切
cp a.txt b.txt | 将a.txt另存为b.txt文件 |
cp a.txt ../ | 将a.txt文件复制到上一层目录中 |
cp -r aaa bbb | 目录aaa另存为目录bbb |
mv aaa bbb | 将aaa目录重命名为bbb |
mv aaa/* bbb/* | 把aaa目录下的所有文件都剪切到bbb目录中 |
mv a.txt bbb/ | 将a.txt文件移动到bbb目录中 |
打包和解压
tar –xvf xxx.tar | 解压(未压缩的) |
tar -zxvf xxx.tar.gz -C /usr/aaa | 解压(.gz压缩的),到/usr/aaa |
tar –cvf xxx.tar ./* | 打包成xxx.tar |
tar –zcvf xxx.tar.gz ./* | 打包并且压缩成xxx.tar.gz |
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。
一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件
内容查找
find /aaa -name "ins*" | 查询aaa目录中的文件名称以ins开头的文件、目录 |
grep lang anaconda-ks.cfg | 在文件中查找lang |
grep lang anaconda-ks.cfg -i | 在文件中查找lang,忽略大小写 |
grep lang anaconda-ks.cfg –color | 查找字符高亮显示 |
grep lang anaconda-ks.cfg –color -A2 | 查找字符后面的两行也也显示(after) |
grep lang anaconda-ks.cfg –color -B1 | 查找字符前面的一行也也显示(before) |
grep lang anaconda-ks.cfg –color -A1 -B1 | 查找字符前和后面的一行也也显示 |
压缩解压缩
- 压缩语法:tar -zcvf 压缩后的文件名 被压缩的文件
- 解压缩语法:tar -zxvf 压缩文件名
-C 解压后的文件所存放的目录
参数 | 描述 |
---|---|
-z | 操作tar.gz文件需要使用 |
-x | 解压缩 |
-c | 压缩 |
-v | 显示压缩或者解压缩的执行过程信息 |
-f | 要处理的文件file,必须放在最后 |
rpm软件
简介:类似于windows中的.exe程序
rpm -ivh xxx.rpm | 安装rpm软件 |
rpm -qa 软件名 | 查看系统中是否已安装的过该rpm软件 |
rpm -e 软件名 | 卸载rpm软件 |
yum
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。
yum list | 列出所有可以安装的软件包 |
yum install -y 软件名 | 安装软件 |
yum remove 软件名 | 卸载软件 |
yum search all 软件名 | 查找软件包 |
vim编辑器
Linux系统会内置vi编辑器,Vim是Vi的升级版,功能更强大
进入Vim:Vim/Vi 文件名
三种模式:命令模式、插入模式、底行命令模式
-
从命令模式切换到插入模式:按 i 键;
-
从插入模式切换到命令模式:按Esc键
-
从命令模式切换到低行命令模式:按 :(英文的冒号)
退出Vim
-
保存并退出::wq
-
不保存退出::q!
快捷键(在命令模式下)
-
dd – 快速删除一行
-
yy - 复制当前行
-
nyy - 从当前行向后复制n行
-
p - 粘贴到下一行
-
R – 替换
-
:/asd 查找文件中的asd,并高亮显示
注意:Vi / Vim 文件名,如果文件不存在会创建文件,然后进入命令模式
文件权限
[root@lixianhe ~]# ll
total 20
-rw-------. 1 root root 2777 Jan 24 21:35 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Apr 5 07:16 apps
drwxr-xr-x. 2 root root 151 Jan 25 16:06 Desktop
-rw-r--r--. 1 root root 0 Jan 24 21:43 docker-client
-rw-r--r--. 1 root root 0 Jan 24 21:43 docker-client-latest
-rw-r--r--. 1 root root 0 Jan 24 21:43 docker-common
-rw-r--r--. 1 root root 72 Jan 24 21:42 docker-engine
-rw-r--r--. 1 root root 0 Jan 24 21:43 docker-latest
-rw-r--r--. 1 root root 0 Jan 24 21:43 docker-latest-logrotate
-rw-r--r--. 1 root root 3650 Jan 24 21:43 docker-logrotate
drwxr-xr-x. 3 root root 16 Jan 25 15:59 Downloads
-rw-r--r--. 1 root root 128 Mar 25 23:29 dump.rdb
drwxr-xr-x. 2 root root 42 Apr 8 05:05 MyDocker
-rw-------. 1 root root 2057 Feb 13 08:33 original-ks.cfg
权限一共十个字符串:分为四个组
- --- --- ---
文件类型 当前用户的权限 当前用户组内其他用户权限 其他组用户权限
-
文件类型
-
- 表示文件
-
d 表示文件夹
-
l 表示链接
-
-
当前用户的权限
-
r:读
-
w:写
-
x:可执行
-
-
当前用户组内其他用户权限
-
r:
-
读w:
-
写x:可执行
-
-
其他组用户权限
-
r:读
-
w:写
-
x:可执行
-
修改文件权限 | |
---|---|
chmod u=rwx,g=rx,o=rx a.txt | 修改当前用户权限为rwx,当前组内用户为rx,其他组用户为rx |
chmod 755 a.txt | r-->4 w-->2 x-->1 7=4+2+1 5=4+1 |
重定向输出 > 和 >>
> 重定向输出,覆盖原有内容
>> 重定向输出,有追加功能
cat /etc/passwd > a.txt 将输出定向到a.txt中
cat /etc/passwd >> a.txt 输出并且追加
echo 'I love Docker' >> a.txt 向a.txt写入I love Docke
不一定必须是cat,只要能让控制台有输出的指令都可以保存到文件
如:ifconfig > ifconfig.txt
系统管理命令
系统管理命令 | |
---|---|
ps -ef | 查看所有进程 |
ps -ef |grep java | 查找某一进程 |
kill 2868 | 杀掉2868编号的进程(2868是进程id) |
kill -9 2868 | 强制杀死进程 |
管道
|
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
ls --help | more 分页查询帮助信息
ps -ef | grep java 查询名称中包含java的进程(ps -ef:查询所有进程,grep java:查询带java的)
ifconfig | more
cat index.html | more
ps –ef | grep aio
结束进程
kill pid | 根据pid杀死进程 |
kill -9 pid | 强制杀死该进程 |
Linux网络操作
主机名配置
主机名配置 | |
---|---|
hostname | 查看主机名 |
hostname xxx | 修改主机名 重启后失效,临时的 |
IP地址配置
IP地址配置 | |
---|---|
ifconfig | 查看ip地址 |
ifconfig eth0 192.168.12.22 | 修改ip地址,临时的,重启失效 |
如果想要永久生效
修改 /etc/sysconfig/network-scripts/ifcfg-eth33文件
DEVICE=eth0 #网卡名称
BOOTPROTO=static #获取ip的方式(static/dhcp/bootp/none)
HWADDR=00:0C:29:B5:B2:69 #MAC地址
IPADDR=192.168.241.143#IP地址
NETMASK=255.255.255.0 #子网掩码
NETWORK=192.168.177.0 #网络地址
BROADCAST=192.168.0.255 #广播地址
NBOOT=yes # 系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备。
# 我的设置
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="082b5ecd-1249-43f0-a6a4-4eed47395882"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.241.143
NETMASK=255.255.255.0
GATEWAY=192.168.241.2
DNS1=192.168.241.2
修改后重启网络服务:service network restart
不配置的话,虚拟机重启,IP地址可能会变
域名映射
/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用
相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能
vi /etc/hosts
# 在本机上lixianhe这个域名会被解析为10.3.21.14
10.3.21.140 lixianhe
网络服务管理
service network status | 查看指定服务的状态 |
service network stop | 停止指定服务 |
service network start | 启动指定服务 |
service network restart | 重启指定服务 |
service --status–all | 查看系统中所有后台服务 |
netstat –nltp | 查看系统中网络进程的端口监听情况 |
防火墙
systemctl status firewalld | 查看防火墙状态 |
systemctl start firewalld | 开启防火墙(暂时) |
systemctl stop firewalld | 关闭防火墙(暂时) |
systemctl enable firewalld | 重启防火墙 |
systemctl enable firewalld | 永久打开防火墙(开启开机自启) |
systemctl disable firewalld | 永久关闭防火墙(关闭开机自启) |