简单系统命令
# 查看ip地址ip aip addr# ping网络(测试网络连通)ip 目标机器的ip# 查看系统时间date# 注销logout# 关机shutdown now# 重启reboot# 清屏clear
Linux文件系统
| Linux | 含义 | windows |
|---|---|---|
| /bin | 所有用户可用的基本命令存放的位置 | windows没有固定的命令存放目录 |
| /sbin |
需要管理员权限才能使用的命令 | |
| /boot |
linux系统启动的时候需要加载和使用的文件 | |
| /dev | 外设连接linux后,对应的文件存放的位置 | 类似Windows中的U盘,光盘的符号文件。 |
| /etc | 存放系统或者安装的程序的配置文件,注册服务等 | 类似windows中的注册表, |
| /home | 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 | 类似windows中的”我的文档”,每个用户有自己的目录。 |
| /root | root账户的家目录,仅供root账户使用 | 类似windows中的Administrator账户的”我的文档” |
| /lib | linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar |
|
| /usr | 很多系统软件的默认安装路径 | 类似windows中的C盘下的Program Files目录。 |
| /var |
| 系统和程序运行产生的日志文件和缓存文件放在这里 | |
文件管理命令
查看文件列表
ls [-参数1参数2] [目标文件夹]# 查看当前目录下的文件列表ls# 查看指定目录下的文件ls /# 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)ls -l# 查看隐藏文件ls -a# 参数并用ls -la
切换目录
cd 目标文件夹# 绝对路径切换cd 绝对路径# 绝对路径切换cd 相对路径# 例子:切换到/etc/sysconfig/networks-scripts 目录下
查看当前命令所在的目录
[root@VM-16-14-centos file]# pwd/home/task/file# 特殊目录符号~ 当前用户的home目录. 当前目录.. 上一级目录
新建文件夹及文件
# 在当前位置新建文件夹mkdir 文件夹名# 在指定目录位置,创建文件夹,并创建父文件夹mkdir -p /a/b/文件夹名# 在当前目录下新建文件touch 文件名
删除文件
# 删除文件rm 文件# 删除文件夹rm -r 文件夹# 强制删除不询问rm -rf 文件
拷贝文件
# 拷贝文件cp 原文件 新文件# 拷贝文件夹cp -r 源文件夹 新文件夹
移动文件或修改文件名称
# 移动源文件到目标文件夹中mv 文件 文件夹# 修改文件A的名字为文件Bmv 文件A 文件B
获取文件的md5指纹(数字签名)
md5sum 文件名# 简介1. 数字签名,又称数字指纹2. 可以验证文件是否被修改3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)
文本内容查看命令
# 查看文件中的全部信息(适合查看小文档)cat 文件名# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式less 文件名# 浏览模式快捷键↑ #上一行↓ #下一行G #第一页g #最后一页空格 #下一页/关键词 #搜索关键词# 退出浏览模式,回到Linux命令行模式q #退出# 实时滚动显示文件的最后10行信息(默认10行)tail -f 文件名# 显示文件的最后20行信息tail -n 20 文件名tail -n -20 文件名# 显示文件信息从第20行至文件末尾tail -n +20 文件名
文件查找
文件名查找
# 语法find 搜索路径 -name "文件名关键词"# 例子find / -name "passwd"find / -name "ifcfg-*"
文件内容查找
# 语法grep -参数 要查找的目录范围# 参数-n 显示查找结果所在行号-R 递归查找目录下的所有文件# 例子grep aries /etcgrep aries /etc/passwd
文件链接
# 文件名该文件的名字# inode该文件的元数据# datablock该文件真正保存的数据注意:1、inode中保存的是文件的元数据2、ls命令查看的都是linux的元数据信息3、数据块中才是文件的真正数据
硬链接
ln 源文件 硬链接文件
软链接
ln -s 目标文件或文件夹 软连接名字
系统管理
# 静态查看系统进程ps -aux# 实时查看系统进程top# 快捷键↑ 下翻↓ 上翻q 退出# 关闭进程kill 进程id# 强制关闭进程(谨慎使用)kill -9 进程id
输出
# 将命令1的执行结果,输出到后面的文件中。`覆盖写入`命令1 > 文件# 例子date > date.log# 将命令1的执行结果,输出到后面的文件中。`追加写入`命令1 >> 文件# 例子date >> date.log
管道
# 语法,将命令1的输出结果,作为命令2的输入命令1 | 命令2# 例子查找aries用户:cat /etc/passwd | grep -n “baizhi”查找aries组:cat /etc/group | grep -n “baizhi”查找sshd进程:ps -aux | grep sshd
文件编辑
系统权限
用户组

指令
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® | 读 | 查看文件内容和复制文件 | more cat less cp head tail | 查看文件夹下的文件 | ls |
| W(w) | 写 | 编辑文件 | vi | 在文件夹内创建和删除文件 | rm touch |
| X(x) | X(x) | X(x) | X(x) | X(x) | X(x) |
权限访问控制列表(ACL access controll list)
指令
# 查看权限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 文件名# 权限设置2# 文件的每个归属方的权限的值使用rwx之和计算出来的。# 语法`chmod [-R] nnn 文件`-R 递归设置文件夹内所有文件# 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)chmod 764 文件名
系统软件管理
压缩解压缩
压缩语法:tar -zcvf 压缩后文件名 被压缩文件解压缩语法 tar -zxvf 压缩文件名 -C 解压后文件所在目录
参数一
| 参数 | 描述 |
|---|---|
| -z | 操作tar.gz文件需要使用 |
| -x | 解压缩 |
| -c | 压缩 |
| -v | 显示压缩或者解压缩的执行过程信息 |
| -f | 要处理的文件file,必须放在最后 |
rpm软件
1. 安装rpm软件语法:`rpm -ivh xxx.rpm`2. 查看系统中是否已安装的过该rpm软件语法:`rpm -qa 软件名`3. 卸载rpm软件语法:`rpm -e 软件名`4. 例子:安装tree工具作用:查看某个目录下的文件信息# 以树状结构查看2层文件信息tree -L 2 要查看的路径
yum
yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包。
## 列出所有可以安装的软件包yum list## 安装软件yum install -y 软件名## 卸载软件yum remove 软件名## 查找软件包yum search all 软件名
Linux服务
# 例如:sshd network firewalld 等# 服务器管理命令systemctl status 服务名# 启动服务systemctl start 服务名# 重启服务systemctl restart 服务名# 停止服务systemctl stop 服务名# 禁止服务随linux启动。systemctl disable 服务名# 设置服务随linux启动。systemctl enable 服务名
ip设置
服务名: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
# 开启防火墙systemctl stop 服务名# 临时关闭防火墙systemctl stop firewalld# 直接停止防火墙开机启动systemctl disable firewalld
主机名
# 查看主机名hostname# 设置主机名hostnamectl set-hostname 主机名
ip映射
[root@centos7 ~]# vim /etc/hosts--------------下面是文件------------------192.168.123.123 centos7
SSH
# 远程登录linuxssh 远程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
远程拷贝
scp 本地的文件 root@远程linuxip:/远程linux的文件路径scp -r 本地的目录 root@远程linuxip:/远程linux的文件路径
必要软件安装
vim(vi编辑器增强版)
vim 文件
wget(下载器)
wget url
tree(目录树状显示)
# 以tree结构,递归显示当前文件下所有文件tree# 显示目标文件夹下的文件tree 目标目录
psmisc(高级进程管理工具)
# 以tree形式显示系统目前进程pstree# 杀死进程killall 进程名# 显示该文件被哪个进程使用fuser /目标文件
jdk安装
