文章目录
一、基本使用
Linux系统中的命令
常见使用方式:命令字 选项 参数
命令字 + 参数,例如cd cat ls du hostname cp find
命令字 ls su cd pwd du
1、切换用户(su)
命令行提示字符
[root@localhost ~]#
[当前登录系统的用户@主机名称 当前所在的目录]#
# 表示为管理员登录
$ 表示为普通用户登录
切换用户
su 用户名 #切换后所在目录不变
su - 用户名 #切换后所在目录变成用户家目录
2、设置主机名(hostname)
hostname #查看当前主机的完整名称
hostname 主机名 #临时设置主机名
永久设置主机名
hostnamectl set-hostname 主机名 或 vi /etc/hostname(设置完后需重启系统才生效) #永久设置主机名
按i键先删除旧主机名,再输入新主机名(只有第一行有效)
按ESC键,再按SHIFT + “:” 组合键,输入 wq ,再按回车键退出
3.查看(cat)
基本职能:查看“文件”的内容
cat /etc/redhat-release #查看当前系统版本信息或 cat /etc/*release
该处使用的url网络请求的数据。
4.查看及修改文件(vi/vim)
如修改网卡IP
永久修改网卡IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #设置网卡类型,“Ethernet”表示以太网
DEVICE=ens33 #设置网卡的名称
ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
BOOTPROTO=static #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
IPADDR=192.168.80.3 #设置网卡的 IP 地址
NETMASK=255.255.255.0 #设置网卡的子网掩码
GATEWAY=192.168.80.2 #设置网卡的默认网关地址
DNS1=192.168.80.2 #设置DNS服务器的 IP 地址
重启网卡
systemctl restart network #重启所有的网卡
ifdown ens33 ; ifup ens33
ifdown ens33 #关闭某个网卡
ifup ens33 #启动某个网卡
ifconfig ens33 down #临时禁用某个网卡
ifconfig ens33 up #重新激活某个网卡(不会更新IP地址)
查看网卡地址
ifconfig
5.添加静态路由条目
添加静态路由条目
临时添加路由(重启network服务失效)
方法一:
route add -net 192.168.3.0/24 gw 192.168.8.2 [dev ens33]
-net:指定目标网段的地址
gw:指定下一跳路由器的 IP 地址
dev: 为路由指定的输出接口
查看路由表条目
route -n
删除静态路由条目
route del -net 192.168.3.0/24
方法二:
ip route add 192.168.15.0/24 via 192.168.80.2 [dev ens33]
永久添加路由(重启network服务生效)
方法一:
vi /etc/sysconfig/static-routes
any net any gw 192.168.80.2
any net 192.168.3.0/24 gw 192.168.80.2
any net 10.0.0.0 netmask 255.0.0.0 gw 192.168.80.2
any host 192.168.100.100 gw 192.168.80.2
systemctl restart network
方法二:
vim /etc/sysconfig/network-scripts/route-ens33
default via 192.168.80.2 dev ens33 #默认路由,另一种格式 0.0.0.0/0 192.168.14.254 dev ens33
10.211.6.0/24 via 192.168.80.2 dev ens33
192.168.100.200 via 192.168.14.254 dev ens33
systemctl restart network
测试网络连接
ping
traceroute (静态跟踪)
mtr (动态跟踪)
重启系统
reboot
init 6
shutdown -r now
关机
poweroff
init 0
shutdown -h now
shutdown -c
/etc/resolv.conf
是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名。最多可以指定3个不同的DNS服务器地址,优先使用第一个 DNS 服务器。对该文件所做的修改将会立刻生效。
nameserver 192.168.80.2 #定义DNS服务器的IP地址
注意:此配置文件与网卡配置文件的DNS1参数作用相同,哪个最后修改或重启,系统就使用哪个配置。
注意虚拟机新建系统后要先关防火墙才能连接上网络
### 关闭防火墙软件
1. 临时关闭命令 systemctl stop firewalld.service
2. 查看服务状态 systemctl status firewalld.service
3. 永久关闭(下次开机不自启动) systemctl disable firewalld.service
####关闭 SELinux
对于 SELinux,初学者可以这么理解,它是部署在 Linux 上用于增强系统安全的功能模块。
1. 临时关闭命令 setenforce 0
2. 查看服务状态 /usr/sbin/sestatus -v
3. 永久关闭(下次开机不自启动)修改vim /etc/selinux/config 将配置文件中的SELINUX=enforcing改为SELINUX=disabled
设置永久关闭之后需要重启机器
6.列表显示目录内容ls(常用选项、可结合通配符)
ls
参数:路径类型/opt 名称 数值类型 find ./ -size +4M
ls 基础职能 查看指定目录下的文件、目录等对象
ls 如果要看单个参数的话,直接写:位置+目录名称(绝对路径)/
命令字 [选项] [参数]
操作 功能 要执行的对象
-l #将文件信息属性详细列出,通常直接使用ll,因为设置了别名
-R #递归显示,比如一个目录下还有文件,则把那个文件也一起列出
-d #查看目录本身信息,不显示目录下的内容
-i #显示inode值
-h #友好显示文件大小
-a #遍历所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-A #跟-a 唯一的不同是不列出当前目录和上一层目录
7、pwd 查看当前工作目录
8、cd 切换工作目录
cd 单参数(绝对/相对路径 + 目录)
9、cp 复制
cp 2个参数
cp职能将原文件/目录复制到目标位置(目录) 如果是目标位置有同名的文件/目录的话,表示覆盖
cp [参数1]文件/目录 [参数2]目录
常用选项
-p:连属性一起复制
-a:保留权限,复制软链接本身,递归复制
-r:递归复制
-f:强制复制,不与用户交互
-i:提醒覆盖
-v:显示详细复制
10、mkdir
基本职能:在指定位置创建新的目录(根据路径判断在哪创建)
-p:创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建
需求1 : 在当前位置创建abc
[ root@localhost /opt]# mkdir abc
需求2: 在/位置创建abc
[ root@localhost /opt]# mkdir /abc
需求3:在/位置创建 abc里再创建一个123
[ root@localhost /opt]# mkdir -p /abc/123
11、touch
基本职能:创建文件
①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
②文件不存在:创建新文件
touch [文件名]
touch [文件名] [文件名]
touch也可以配合通配符使用
一次创建1,2,3三个文件
[root@localhost opt]# touch {1,2,3}
[root@localhost opt]# ls
1 2 3 rh
一次创建4到8的所有文本
[root@localhost opt]# touch {4..8}.txt
[root@localhost opt]# ls
1 1.txt 2 2.txt 3 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt rh
12、创建链接文件ln(软链接、硬链接)
ln -s 创建软链接,相当于创建一个快捷方式
ln 创建硬链接,相当于复制了一份副本
软链接建立时原始文件可以不存在
如果删除源文件之后又重新建立源文件,那么软链接照样可以用
软链接文件的大小就是软链接文件本身的文件名字符长度!
可以给目录做软链接,为了防止目录被删
硬软区别
硬链接不能跨分区建立连接 无法对文件夹创建
删除硬件连接可以继续访问硬链接
软连接可以跨设备 可以支持文件夹
软连接删除源文件不能访问
硬链接:(副本)
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)
软链接:(快捷方式)
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(soft link)或者"符号链接(symbolic link)。这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file or directory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。
12、删除文件或目录rm
常用选项
-i:删除文件或目录时提醒用户确认
-r:删除目录时必须使用此选项,表示递归删除整个目录树(应谨慎使用)。
-f:删除文件或目录时不进行提醒,而直接强制删除
高危命令:rm -rf /* 删除所有文件
删除空目录:rmdir
13、统计目录及文件空间占用情况du
-h:显示出每一个文件以及大小,单位是KB,MB,GB
-s:显示文件或整个目录的大小,默认单位是KB,但不会把他们显示出来
14、mv 移动/剪切/改名
mv 1、剪切并复制到指定位置(并自定义名字,也可以默认) 或 2、改文件/目录名称(自定义名称)
mv 简述了mv的基本职能 解释了大概的使用方式
mv 参数1 参数2
功能1:做为剪切并复制到指定位置(并自定义名字,也可以默认)这个功能来看的话:
参数1 :指的是要剪切的原文件/目录
参数2 :将剪切的原文件/目录要复制(移动)到的位置
判断1:自定义的话,mv 参数1 参数2 表示 剪切+移动+并重命名 ( 如果目标位置有重名文件,则会提示是否要覆盖?)
判断2:默认的话 mv 参数1 参数2 表示 剪切+移动+使用原名 ( 如果目标位置有重名文件,则会提示是否要覆盖?)
功能2:改文件/目录名称(自定义名称)
改名字: 需不需要移动(不需要切换路径)
mv 参数1 参数2
参数1 和参数2的位置必须要一样 (核心点在于同一目录)
参数1 :需要更改的文件/目录的 路径+名称
参数2 :需要变更为的新名字 路径+新名称
以上完成重命名
15、find
find 基本职能 “按条件”尽可能的精确“匹配”到“需要查找的对象”(任意类型)
选项的直接用法
按条件匹配:
① 按照名称
② 按照大小
③ 按照文件类型
④ 按照时间参数
⑤ 按照文件指定的拥有者和指定的管理组织(属主和属组)
为什么要按照条件匹配,什么时候需要使用find帮助查找????
举个栗子 :BOSS 、租房
1、东西太多,不好找,不易精确、快速找到
find 可以在庞大的一个操作系统中,按照自定义的条件(根据条件的精确性和多样性),尽可能的自动帮助我们快速的
找到我们需要的对象
2、为什么find 至少有以上5条条件匹配方式??
find 目的是找文件/目录。而目录/文件是不是有自己的基本属性,例如大小、时间、归属者和组织、名称、类型
① 名称:-name
-name :可以跟精确的名字 "tianqi"
可以跟模糊匹配 "tianqi*" "tianqi?"
② 大小:-size
-size :可以跟> < = 分别表示在一个指定值之上/之下和/近似
单位: KB M GB
③ 文件类型:-type
-type :根据文件本身的类型来定义条件的 -f -d -b -c -l
④ 按照时间参数:-ctime -atime -mtime
⑤ 使用者和隶属的管理组织(属主和属组) :-user -group
任意满足一个条件 -o
所有条件均需要满足 -a
可以配合管道使用
find / -name “xxx” | xargs rm -rf 查找名字为xxx的目录/文件,并删除
16、Which
基本职能:查找命令/文件存放目录
which 命令用于查找 Linux 命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量 PATH 决定(可以执行“echo $PATH”命令查看),这个范围也是 Linux 操作系统在执行命令或程序时的默认搜索路径。
17、给命令设置别名alias
alias #查看系统当前所有可用别名
alias cp=‘cp -i’
18、关闭防火墙、核心防护
systemctl stop firewalld
Linux永久关闭防火墙 firewalld和sellinux设置
必须设置 最好设置永久性若是暂时关闭 下次开启还要设置 所以建议永久性关闭
关闭 firewalld:
systemctl disable firewalld #永久关闭,即设置开机的时候不自动启动
关闭 selinux:
修改配置文件(永久关闭selinux可以使用vi命令打开/etc/sysconfig/selinux 文件将SELINUX=disable)
setenforce 0