Windows操作系统的设计初衷是单用户操作系统,而Unix和Linux操作系统的设计初衷是多用户操作系统。
Linux操作系统不分盘,只有一个根目录/,所有的文件目录都在其下面
目录 | 注释 |
---|---|
/bin | 二进制文件,系统常规命令 |
/boot | 系统启动分区,系统启动时读取的文件 |
/dev | 设备文件 |
/etC++ | 大多数配置文件 |
/home | 普通用户的家目录 |
/media | 手动临时挂载点 |
/mnt | 手动临时挂载点 |
/opt | 第三方软件安装位置 |
/sbin | 系统管理命令 |
/usr | 用户相关设定 |
实例:
root@app00:~#
root //用户名,root为超级用户
@ // 分隔符
app00 // 主机名
~ // 当前所在目录,默认用户
$ //普通用户 #为超级用户
command [-options] [parameter]
例: command --help 查看当前命令帮助信息
2.1.1.关机
shutdown -h now或者 poweroff<br>
shutdown -h 2 //两分钟后关机
2.1.2.重启
shutdown -r now 或者 reboot
shutdown -r 2 //两分钟后重启
2.1.3查看网络ip状态
ifconfig //windows 为ipconfig
2.1.4.防火墙
service iptables status //查看iptables服务的状态
service iptables start //开启iptables服务
service iptables stop //停止iptables服务
service iptables restart //重启iptables服务
chkconfig iptables off //关闭iptables服务的开机自启动
chkconfig iptables on //开启iptables服务的开机自启动
<>centos7 防火墙操作
systemctl status firewalld.service //查看防火墙状态
systemctl stop firewalld.service //关闭运行的防火墙
systemctl disable firewalld.service //永久禁止防火墙服务
2.1.5检测系统环境
* 查看 CPU 内核:
lscpu或cat /proc/cpuinfo
* 查看内存大小:
free -h或cat /proc/meminfo
* 查看硬盘大小:
df -h查看已挂载分区,lsblk查看所有块设备,fdisk -l查看分区详细信息
* 检测服务器默认模式图形模式or字符文本模式
systemctl get-default //graphical.target为图形模式 multi-user.target为文本模式
2.1.6 配置映射
修改文件: vi /etc/hosts 在文件最后添加映射地址,示例如下:
192.168.1.101 node1
192.168.1.102 node2
192.168.1.103 node3
配置好以后保存退出,输入命令:ping node1 ,可见实际 ping 的是 192.168.1.101
2.1.7查看系统版本
cat /proc/version //查看您当前操作系统版本
uname //查看内核版本
(1)切换目录
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
(2)查看目录
ls //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果
一样
ls /bin //查看指定目录下的所有目录和文件
(3)创建目录
mkdir tools
//在当前目录下创建一个名为tools的目录
mkdir /bin/tools //在指定目录下创建一个名为tools的目录
(4)删除目录与文件
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
rm -f *log* //通配符,删除当前目录下有log的所有文件
(5)修改目录
mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
(6)拷贝目录
cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
(7)搜索目录
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
(8)查看当前目录
pwd //显示当前位置路径
(1)增加删除文件
touch a.txt //在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
truncate -s 0 文件 //清空文件 文件大小置为0
(2)编辑文件(vi vim)
vi 文件名 //打开需要编辑的文件
--进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按"O"在光标所在行的上面一行行插入
-按":"进入底行模式
-按":"进入底行模式后set number 显示行号
:g/关键词/d 示例::g/error/d 删除所有包含error的行
:%d 删除全文
s/lantian/sky/ #替换当前行第一个 lantian 为 sky
:s/lantian/sky/g #替换当前行所有 lantian 为 sky
:n,$s/lantian/sky/ #替换第 n 行开始到最后一行中每一行的第一个 lantian 为 sky
:n,$s/lantian/sky/g #替换第 n 行开始到最后一行中每一行所有 lantian 为 sky
#(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
:%s/lantian/sky/ #替换每一行的第一个 lantian 为 sky
:%s/lantian/sky/g #(等同于 :g/lantian/s//sky/g) 替换每一行中所有 lantian 为 sky
可以使用 #或+ 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#lantian/#sky/# 替换当前行第一个 lantian/ 为 sky/
G 跳到最后一行
gg 跳到第一行
5G 跳到第5行
yy 复制当前行
5yy 复制从当前行往后的5行
p 粘贴已复制的行到光标后
P 粘贴已复制的行到光标前
dd (1)剪切当前行,以p粘贴;(2)删除当前行
5dd 删除5行,(含当前行)
dG 从当前行删到最后一行
D 从光标处删除到行尾
5dG 从当前行删到第五行
x 删除光标所在位置的字符
5x 删除光标所在位置的字符及往后的5个字符
X 删除光标所在位置的前一个字符
u 撤销之前的操作
Ctrl + r 反撤销(恢复撤销)
数字0或者^ 将光标移动到当前行的行首
$ 将光标移动到当前行的行尾
ctrl +f 向下翻页
ctrl +b 向上翻页
n 查找下一个相同的字符
N 查找上一个相同的字符
r 替换光标所在位置的字符
R 从光标当前位置开始替换字符,输入内容会覆盖后面等长的内容,按“Esc”结束输入
h 向左移动光标
j 向下移动光标
k 向上移动光标
l向右移动光标
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
## 操作步骤示例 ##
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
## 补充 ##
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
:set nu //设置行号
:word //从文本查找字符串,按“n”查看下一个字符串,区分大小写
:/^word //查询以work开头的行
:work$ //查询work结尾
(3)查看文件
cat a.txt //查看文件最后一屏内容
cat 文件 |grep -i error 检索出该文件带有error关键词的 -i 忽略大小写
less a.txt //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt //显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
tail -100 a.txt //查看文件的后100行,"Ctrl+C"退出查看
(4)文件权限
文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),括号内代表"8421法"
##文件权限信息示例:-rwxrw-r--
-第一位:'-'就代表是文件,'d'代表是文件夹
-第一组三位:拥有者的权限
-第二组三位:拥有者所在的组,组员的权限
-第三组三位:代表的是其他用户的权限
a所有用户(all),系统默认值 u用户(user)文件所有者 g同组用户(group) o其他用户(others)
文件权限及修改命令:https://www.jianshu.com/p/4720cbedd790
(5)打包与解压
.zip、.rar //windows系统中压缩文件的扩展名
.tar //Linux中打包文件的扩展名
.gz //Linux中压缩文件的扩展名
.tar.gz //Linux中打包并压缩文件的扩展名
tar -zcvf 打包压缩后的文件名 要打包的文件
参数说明:z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
示例:
tar -zcvf a.tar file1 file2,... //多个文件压缩打包
tar -zxvf a.tar //解包至当前目录
tar -zxvf a.tar -C /usr------ //指定解压的位置
unzip test.zip //解压*.zip文件
unzip -l test.zip //查看*.zip文件的内容
rpm -ivh *rpm
(6)Linux scp 命令详解及实现本地文件和远程服务器文件互传
scp -r /path/to/local/file username@remotehost:/path/to/remote/directory
需要配置scp密钥
https://blog.csdn.net/weixin_44688581/article/details/117652733
或者
rsync -avz /.. user@1.1.1.1:/.. #建议使用rsync同步文件
来源知乎
chmod 755 file_name
表示将文件file_name权限修改为 u可读可写可执行 g可读可执行 o可读可执行
类似
chmod uGo+rx,u+w file_name
https://www.jianshu.com/p/4720cbedd790
chown 更改的文件的所有者和组,chmod更改文件或目录的访问权限
权限决定了用户可以对文件执行哪些操作,例如读取、修改或执行文件。所有者和组则决定了哪些用户和组可以成为文件的默认访问者
chown 用户名:组名 文件路径
1.
列出所有包含“Java”字样的进程信息,包括进程ID、启动用户、启动时间等
ps -ef|grep java
jps -l 显示Java进程的ID和软件名称 (若不显示java进程,ps -ef|grep java显示,排查是不是这个原因https://blog.csdn.net/qq_32575047/article/details/103508432)
或jps -lmv 显示Java进程的ID、软件名称、启动main方法的输入参数以及虚拟机参数
kill -9 <java进程ID> 强制指定Java进程
pkill -9 java 强制结束所有java进程
2.
cat 文件 |grep -i error 检索出该文件带有error关键词的 -i 忽略大小写
3. 查询端口
netstat -tulnp|grep 端口号
ss -tulnp| grep 端口号