# 查看ip地址
ip a
ip addr
# ping网络(测试网络连通)
ip 目标机器的ip
# 查看系统时间
date
# 注销
logout
# 关机
shutdown now
# 重启
reboot
# 清屏
clear
1.Linux一切皆文件
2.只有一个顶级目录,不像windows分C盘、D盘、E盘
Linux | 含义 | windows |
/bin | 所有用户可用的基本命令存放的位置 | windows没有固定的命令存放目录 |
/sbin | 需要管理员权限才能使用的命令 | |
/boot | linux系统启动的时候需要加载和使用的文件 | |
/dev | 外设连接linux后,对应的文件存放的位置 | 类似Windows中的U盘,光盘的符号文件。 |
/etc | 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 | 类似windows中的"我的文档",每个用户有自己的目录。 |
/root | root账户的家目录,仅供root账户使用 | 类似windows中的Administrator账户的"我的文档" |
/lib | linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar | |
/usr | 很多系统软件的默认安装路径 | 类似windows中的C盘下的Program Files目录。 |
注意事项:命令区分大小写
# 1. 查看文件列表
ls [-参数1参数2] [目标文件夹]
# 查看当前目录下的文件列表
ls
# 查看指定目录下的文件
ls /
# 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
ls -l
# 查看隐藏文件
ls -a
# 参数并用
ls -la
# 2. 切换目录
cd 目标文件夹
# 绝对路径切换
cd 绝对路径
# 相对路径切换
cd 相对路径
# 例子:切换到/etc/sysconfig/networks-scripts 目录下
# 3. 查看当前命令所在的目录
[root@centos7 network-scripts]# pwd
/etc/sysconfig/network-scripts
# 特殊目录符号
~ 当前用户的home目录
. 当前目录
.. 上一级目录
# 4. 新建文件夹及文件
# 在当前位置新建文件夹
mkdir 文件夹名
# 在指定目录位置,创建文件夹,并创建父文件夹
mkdir -p /a/b/文件夹名
# 在当前目录下新建文件
touch 文件名
# 5. 删除文件
# 删除文件
rm 文件
# 删除文件夹
rm -r 文件夹
# 强制删除不询问
rm -rf 文件
# 6. 拷贝文件
# 拷贝文件
cp 原文件 新文件
# 拷贝文件夹
cp -r 源文件夹 新文件夹
# 7. 移动文件或修改文件名
# 移动源文件到目标文件夹中
mv 文件 文件夹
# 修改文件A的名字为文件B
mv 文件A 文件B
# 8. 获取文件的md5指纹(数字签名)
md5sum 文件名
# 简介
1. 数字签名,又称数字指纹
2. 可以验证文件是否被修改
3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)
# cat命令
# 查看文件中的全部信息(适合查看小文档)
cat 文件名
# less命令
# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
less 文件名
# 浏览模式快捷键
↑ #上一行
↓ #下一行
G #最后一页
g #第一页
空格 #下一页
/关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
q #退出
# tail 命令
# 实时滚动显示文件的最后10行信息(默认10行)
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名
进入编辑器?vi/vim
,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
进入编辑模式插入?
i
退出编辑模式?
esc
保存:后面输入
w
退出:后面输入
q
不保存退出:后面输入
q!
显示行号?
set number
查找关键字?
/xxxx
?按n跳到下一个,shift+n上一个复制光标所在行,并粘贴?
yyp
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
# 语法
find 搜索路径 -name "文件名关键词"
# 例子
find / -name "passwd"
find / -name "ifcfg-*"
# 语法
grep -参数 要查找的目录范围
# 参数
-n 显示查找结果所在行号
-R 递归查找目录下的所有文件
# 例子
grep aries /etc
grep aries /etc/passwd
1. 创建组
`groupadd 组名`
2. 删除组
`groupdel 组名`
3. 查找系统中的组
`cat /etc/group | grep -n “组名”`
说明:系统每个组信息都会被存放在/etc/group的文件中
1. 创建用户
`useradd -g 组名 用户名`
2. 设置密码
`passwd 用户名`
3. 查找系统账户
说明:系统每个用户信息保存在`/etc/passwd`文件中
4. 切换用户
`su 用户名`
5. 删除用户
`userdel -r 用户名`
linux系统未来可能有程序员、用户、数据库管理员、项目经理等各种角色各种级别人使用,甚至还有身份不明的人链接到linux,控制不好权限容易导致系统崩溃、数据丢失等问题。 |
---|
R:读,数值表示为 4
W:写,数值表示为 2
X:可执行,数值表示为1
[root@VM-16-2-centos?~]#?ll
total?597952
-rw-------?1?root?root??12387614?Aug?29??2021?apache-zookeeper-3.7.0-bin.tar.gz
-rw-r--r--?1?root?root?113304268?May??3?12:22?jdk-8u281-linux-x64.rpm
如上所示,jdk-8u281-linux-x64.rpm
文件的权限为-rw-r--r--
,一共十个字符,分成四段。
第一个字符“-”表示普通文件;这个位置还可能会出现l
链接;d
表示目录
第二三四个字符rw-
表示当前所属用户的权限,所以用数值表示为 4+2=6
第五六七个字符r--
表示当前所属组的权限,所以用数值表示为 4
第八九十个字符r--
表示其他用户权限,所以用数值表示为 4
所以操作此文件的权限用数值表示为 644
# 查看权限
ls -la 文件
ll 文件
# 设置文件所有者
语法:chown [-R] user名:group名 文件名
参数:-R 如果是文件夹,需要使用这个参数,可以将文件夹及其内部所有文件的所有者和组全部修改
注意:命令权限需要root
## 修改文件所有者
chown 用户名 文件名
## 修改文件所属组
chown :组名 文件名
## 修改文件所有者和所属组
chown 用户名:组名 文件名
## 修改文件夹的所有者和所属组
chown [-R] 用户名:组名 文件夹
# 权限设置1
语法:chmod u±rwx,g±rwx,o±rwx 文件名
运算符:
- 删除权限
+ 添加权限
= 赋值权限
## 给文件的所有者添加执行权限
chmod u+x 文件名
## 给文件的其他人删除所有权限
chmod o-rwx 文件名
## 给文件的所属组设置读写权限
chmod g=wx 文件名
# 文件的每个归属方的权限的值使用rwx之和计算出来的。
# 语法
`chmod [-R] nnn 文件`
-R 递归设置文件夹内所有文件
# 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
chmod 764 文件名
Linux系统中常用的压缩和解压缩命令有以下几个:
tar:压缩或解压缩文件和目录的命令。
gzip:压缩文件的命令。
bzip2:压缩文件的命令,压缩效果比gzip更好。
zip:压缩或解压缩文件和目录的命令。
打包压缩?
tar\gzip\bzip2
-c
归档文件
-x
??压缩文件
-z
?gzip压缩文件
-j
?bzip2压缩文件
-v
?显示压缩或解压缩过程 v(view)
-f
?使用档名例:
只打包,不压缩:
tar -cvf /home/abc.tar /home/abc
打包,并用gzip压缩:
tar -zcvf /home/abc.tar.gz /home/abc
打包,并用bzip2压缩:
tar -jcvf /home/abc.tar.bz2 /home/abc
如果想解压缩,就直接替换上面的命令
?tar -cvf / tar -zcvf / tar -jcvf
?中的“c” 换成“x” 就可以了。
简介:类似于windows中的.exe程序 |
---|
1. 安装rpm软件
语法:`rpm -ivh xxx.rpm`
2. 查看系统中是否已安装的过该rpm软件
语法:`rpm -qa 软件名`
3. 卸载rpm软件
语法:`rpm -e 软件名`
4. 例子:安装tree工具
作用:查看某个目录下的文件信息
# 以树状结构查看2层文件信息
tree -L 2 要查看的路径
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。 |
---|
## 列出所有可以安装的软件包
yum list
## 安装软件
yum install -y 软件名
## 卸载软件
yum remove 软件名
## 查找软件包
yum search all 软件名
关机?
shutdown -h now
-r 关机重启
-h 关机不重启
now 立刻关机
重启?
reboot
关机 ?
halt
# 例如:sshd network firewalld 等
# 服务器管理命令
systemctl status 服务名
# 启动服务
systemctl start 服务名
# 重启服务
systemctl restart 服务名
# 停止服务
systemctl stop 服务名
# 禁止服务随linux启动。
systemctl disable 服务名
# 设置服务随linux启动。
systemctl enable 服务名
服务名:network |
---|
[root@centos7 dirnew]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
----------------网卡对应的文件内容---------------------
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
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="0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.199.8" # 修改这里的ip地址即可
PREFIX="24"
GATEWAY="192.168.199.2"
DNS1="192.168.199.2"
DNS2="8.8.8.8"
IPV6_PRIVACY="no"
[root@centos7 dirnew]# systemctl restart network #重启网卡服务
服务名:firewalld |
---|
# 查看防火墙状态
firewall-cmd --state
# 开启防火墙
systemctl start 服务名
# 关闭防火墙(服务器重启后还会自动开启防火墙)
systemctl stop firewalld
# 禁止防火墙开机启动
systemctl disable firewalld
# 查看主机名
hostname
# 设置主机名
hostnamectl set-hostname 主机名
1) sudo useradd lilei //添加用户 (不能被立即使用,需设置密码 sudo passwd lilei)
2) sudo adduser lilei //添加用户
3) login //登录或切换用户
4) logout //注销用户(命令行) exit(shell-退出控制台)
5) shutdown -h 10 //10分钟后自动关机 shutdown -c //取消
6) halt(root用户) //关闭所有进程后自动关机
7) poweroff //同上
8) shutdown -r 10 //十分钟后自动重启
9) init 6 //重启 (0-停机,1-单用户,2-多用户,3-完全多用户,4-图形化,5-安全模式,6-重启)
10) reboot //重启
1) pwd //显示当前工作目录
2) mkdir mydir //创建工作目录
3) cd mydir //更改工作目录
4) rmdir mydir //删除工作目录
5) touch myfile //创建文件
6) mv myfile mydir //移动目录或文件
7) cp myfile myfir //复制目录或文件
8) rm -rf mydir //删除目录或文件
9) ls -l myfile //查看文件最后被编辑时间
10) ls -lu myfile //查看文件最后被访问时间
11) touch -at 01011212 myfile //修改文件最后被访问时间
12) ls //列出所有文件和目录
13) ls -a //查看所有文件
14) ls -i //显示文件索引节点号
15) ls -l //详细显示
16) ls -m //以逗号分隔
17) sudo apt-get install tree
18) tree -l//以树状图列出目录内容
19) tree -a //所有
20) tree -i //不以阶梯状
21) tree -s //列出文件或目录大小
22) tree -t //按更改时间
23) file -b myfile //显示目录或文件的详细信息
24) stat myfile //同上
1) cat > myfile //创建文件并编辑内容(ctrl+D结束编辑)
2) cat -n myfile //查看文件
3) chmod [u/g/o/a][+/-/=][r/w/x] myfile //更改文件权限
u-user,g-group,o-others,a-all . +-添加,--删除,=-重置 .
r-read读(4),w-write写(2),x-execute执行(1)
4) more myfile //分页往后显示文件(Space空格)
5) less myfile //分页自由显示文件(Page Down / Page Up)
6) head (-10) myfile //指定显示文件前若干行(默认前10)
7) tail (-10) myfile //指定显示文件后若干行(默认后10)
1) sort myfile //对文件内容进行排序
2) sort -r myfile //逆序
3) uniq myfile //检查文件中的重复内容
4) grep (-c)‘a’ myfile //在文件中查找指定内容 (显示行号)
5) diff myfile01 myfile02 //对不同文件进行比较
6) diff3 myfile01 myfile02 myfile03 //三个文件
7) sdiff myfile01 myfile02 //合并
8) cmp myfile01 myfile02 //通过字节对不同文件进行比较
9) comm myfile01 myfile02 //对有序文件进行比较
10) cut -b(-c)(-d) 2(3) myfile //对文件内容进行剪切
11) paste myfile02 myfile01 //对文件内容进行粘贴 02-)01
12) wc (-参数) myfile //对文件内容进行统计 (c-字符数,w-单词数,l-行数)
1) zip myfile.zip myfile //压缩
2) zip -d myfile.zip myfile //添加
3) zip -m myfile.zip myfile //删除
4) unzip -o myfile.zip //解压(覆盖)
5) unzip -n myfile.zip //解压(不覆盖)
6) zipinfo myfile.zip //列出压缩文件信息
1) man ls //获取帮助
2) man -k ls //不清楚完整名字
3) whatis ls //获取帮助
4) help cd / cd –help //获取帮助 -d(简短描述) -s(用法简介)
5) info who //获取帮助
1) clear //清楚屏幕信息
2) echo xx //显示文本 x=0 echo $x . echo -e \$x . echo $(pwd)
3) date //显示日期和时间(+%y 年 +%m 月 +%d日)
4) cal //显示当前日期 cal -y
5) ps //查看当前进程 -A(所有) U lilei (用户lilei)
6) kill -9 2315 //终止某一进程
7) ps -ef | grep Jincheng
8) pkill Jincheng
9) killall Jincheng
10) last //显示最近登录系统的用户信息-6列
11) history (10) //显示历史指令-默认1000行
12) sudo adduser lilei sudo //给普通用户赋予root权限
13) sudo usermod -G sudo lilei //同上
14) alias l=’ls’ //定义命令别名
15) unalias l //删除别名
16) alias //列出别名
# 远程登录linux
ssh 远程linux的ip或者映射域名
# 简介
ssh登录远程linux,免去输入密码的麻烦
# 生成公钥和私钥
[root@centos7 ~]# ssh-keygen
------------执行结果-----------
[root@centos7 ~]# tree .ssh
.ssh
├── id_rsa # 私钥
├── id_rsa.pub # 公钥
└── known_hosts
# 发送公钥
`保存公钥的文件为/root/.ssh/authorized_keys`
[root@centos7 .ssh]# cat id_rsa.pub > authorized_keys
# 发送公钥
[root@centos7 .ssh]# ssh-copy-id 目标主机的ip
?