掌握Linux基础命令


提示:掌握基础的Linux命令


文章目录

1、Linux目录介绍

小技巧

  • ctrl+shift+=放大终端窗口的字体显示
  • ctrl+ - 缩小终端窗口的字体显示
  • ctrl +u 清除光标前的内容
/ 操作系统的启动路径根路径
/bin--普通用户和管理员都可以执行的命令字
/sbin-只有管理员才能执行的命令  关机重启
/boot--引导主引导目录独立的分区启动菜单内核
/dev ---device设备设备文件存放目录
/etc-配置文件存放目录
/home --普通用户的家目录
/root --管理员的家目录
/media --光驱的挂载目录
/mnt  --临时设备的挂载目录
/proc  --里面的数据都在内存中,进程的所在目录
/tmp    --临时文件存放目录
/usr   ---软件的安装目录
/var   ---常变文件存放目录

在这里插入图片描述

2、 Linux系统优化

#关闭防火墙 方式1
systemctl stop firewalld.serivce
systemctl disable firewalld.service
#关闭防火墙 方式2
firewall-cmd --set-default-zone=trusted

#关闭虚拟化
systemctl stop libvirtd.service
systemctl disable libvirtd.service
# 关闭selinux
gedit /etc/selinux/config
# 修改
SELINUX=disable

在这里插入图片描述

3、Linux终端命令格式

终端命令格式

command [-options] [parameter]

说明:

  • command:命令名
  • [-options]:选项,可用来对命令进行控制,可以省略
  • parameter:传递给命令参数 ,可以是零个,一个,或者多个

[] 代表可选

ls pycharm  
ls -l pycharm
  • 开启多个终端
"""
1.右键新建窗口
2.ctrl + alt +t  在家目录下新建
3.ctrl + shift + n   在当前目录下新建
"""

man查阅帮助信息

说明:

  • 查阅 command 命令使用手册
man command
快捷键功能说明
q退出使用手册
向上翻一行
向下翻一行
Pgup向上翻一页
Pgdn向下翻一页

4、文件和目录常用命令

echo 文字内容

  • echo 会在终端中显示参数指定的文字,通常会和重定向联合使用
echo hello

重定向 > 和>>

  • Linux允许将命令执行结果重定向到一个文件

  • 将本应显示在终端上的内容 输出/追加到指定文件中

命令描述
>表示输出,回覆盖文件原有的内容
>>表示追加,会将内容追加到已有文件的末尾
ll -lh >> text.txt 
#将ll -lh命令的输出追加到test.txt
 echo HelloPython > a

管道符 |

  • Linux允许将一个命令的输出 可以通过管道 作为另一个命令的输入

常用的管道命令有

  • more 分屏显示内容
  • grep 在命令执行结果的基础上查询指定文本

将左边的输出当做右边的输入
ls -lha ~ | more
ls -lha ~ | grep Do

pwd 查看当前路径

print work directory

ls查看目录文件

ls ------> list 查看当前文件夹下的内容

选项含义
-a显示隐藏文件
-l以列表的形式显示
-h以人性化的方式显示文件内容大小
-R递归显示子目录

cd 切换工作路径

change directory

绝对路径

指的是在输入路径时,最前面是/或者~表示从 根目录/家目录开始的具体目录位置

相对路径

指的是以当前目录开始,不以/或者 ~开头,表示不是根目录或家目录开始的目录

命令含义
cd命令可以改变相对路径和绝对路径
cd[路径]切换到指定路径
cd ~切换到家目录
cd .切换到当前目录
cd …切换到上一级目录
cd -上一次工作目录切换

创建和删除操作

touch创建文件
  • 创建文件或修改文件日期
    • 如果文件不存在可以创建一个空白文件
    • 如果文件已经存在,可修改文件的末次修改日期
touch 文件名
touch 文件名 文件名   touch 可以同时新建多个
sudo touch 文件名 
mkdir新建目录

make directory

sudo mkdir PythonDir
sudo mkdir -p a/b/c/d 递归创建
rm删除文件或目录

remove

选项含义
-r递归删除目录下的内容,删除文件夹时必须加此参数
-f强制删除,忽略不存在文件,无需提示

拷贝和移动文件

tree
"""
Ubuntu下使用sudo apt-get intall tree;
Fedora和RedHat以及CentOS下使用 yum install tree。
"""
  • 可以以树状图列出文件目录的结构
选项含义
-d只显示目录
mv 移动和重命名
  • mv命令在同一个文件夹移动文件,即重命名功能
  • 格式: mv 原文件路径 目标路径
mv ./demo.txt test.txt
#重命名
选项含义
-f覆盖前不询问
-i覆盖前询问
-n不覆盖已经存在的文件
cp复制
选项含义
-i覆盖前提示
-r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录文件,目标文件必须为一个目录名 cp src des 如果是复制文件夹,则加上-r 选项

文件统计分析

cat 查看文件内容,合并文件
  • cat命令可以用来查看文件内容创建文件文件合并,追加文件内容
  • cat会一次显示所有内容,适合查看内容少的文本本件
选项含义
-b对非空输出行编号
-n对输出的所有行编号
more 查看文件内容(分页查看)

more filename 查看filename 文件的内容

可以分屏显示文件內容,每次只显示一頁內容,適用於 查看內容較多 的文本文件

快捷键功能说明
q退出
f前滚一屏幕
b回滚一屏幕
空格键显示下一屏
enter键一次滚动一行
grep 过滤行
  • Linux系统中 grep命令是一种强大的文本搜索工具
  • grep允许对文本文件进行模式查找,所谓模式查找,又被成为正则表达式,
选项含义
-n显示匹配行及行号
-v显示不包括匹配文本的所有行(相当于求反)
-i忽略大小写
-c统计文件或者文本中包含匹配字符串的行数
-o只显示匹配具体的内容
grep love demo.txt
#在demo.txt文件中搜索love
grep -n a demo.txt
#在demo.txt文件中找a,同时返回行号

强大的文本搜索工具,能使用正则搜索文本,并把匹配的行打印出来

  • -E 选项使用正则表达
grep -E "[A-Z]+"  filename
grep -E "[0-9a-z]" file_1 file_2 file_3...

过滤出/var/log/secure中出现的IP地址

grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|sort|uniq -c
  • 常用 的两种模式查找
参数含义
^a行首,搜寻以a开头的行
ke$行尾,搜寻以ke结束的行
grep a$ demo.txt
grep -n a$ demo.txt
grep ^f demo.txt
grep -n ^f demo.txt
less 按行阅读文档

more与less的区别

head 查看文件头,默认看10行
head		
	-n		# 查看文件的前n行
tail 查看文件尾
tail		
	-n		# 查看文件的后n行
	-f		# 实时跟踪文件的变化,它会在文件末尾持续监听新的内容,并将其输出到终端,不会退出命令。  按 ctrl+c 退出
	-F		# 文件被移除并重新创建时也能继续跟踪。 
[root@zs Desktop]# tail -f  /var/log/secure 
#动态显示日志内容

在这里插入图片描述

awk 过滤列
awk -F: '{print $1}' /etc/passwd
     -F 以冒号为分隔符
     '{print $1}' 打印第一列
     /etc/passwd 要过滤列的文件

过滤出IP地址

在这里插入图片描述

cut 按列提取
cut
	-d			# 指定字段的分隔符。
	-f			# 指定要提取的字段或列。
	-s			# 只输出包含分隔符的行。

/etc/passwd文件:系统用户配置文件,存储了系统中所有用户的基本信息,包括用户名、密码、用户 ID 和组 ID 等信息。并且所有用户都可以对此文件执行读®操作。

取出/etc/passwd文件中的用户名

在这里插入图片描述

sort 排序

在这里插入图片描述

在这里插入图片描述

  • -u 去除重复行

在这里插入图片描述

  • -r 降序排序,默认是升序

在这里插入图片描述

du 统计文件大小
-s只统计⽬录总⼤⼩,-h⼈类易读  
uniq 去重

说明:用于从排序后的文本文件或标准输入中去除重复行的命令行工具。它可以识别并删除相邻或非相邻的重复行,并将去重后的结果输出到标准输出

 -c统计次数
wc 统计文件行数
	-l		# 只显示行数
	-w		# 只显示单词数
	-c		# 只显示字节数

统计Linux中一共有多少个用户

wc -l /etc/passwd

统计Linux中一共有多少个用户是无法登录的

cat /etc/passwd | grep nologin | wc -l		# 但是过滤的不准

在/etc/passwd文件中末尾为:/sbin/nologin 表示该用户无法登录

在这里插入图片描述

cat /etc/passwd | grep -v /bin/bash | wc -l

说明:

  • -v:表示用于反转匹配,即只输出那些不匹配指定模式的行。
stat 查看文件的具体存储细节和时间信息

在这里插入图片描述

diff 比较多个文件之间的差异
diff file1 file2
tr 用于替换文本内容

在这里插入图片描述

文件查找

which

提示:

  • /etc/passwd是用于存放用户信息的文件
  • /usr/bin/passwd是用于修改用户密码的程序
  • which 命令可以查找并显示给定命令的绝对路径
which ls #  /usr/bin/ls
which passwd # /usr/bin/passwd

在这里插入图片描述

whereis

找到命令的绝对路径

whereis ls

#gz帮助文件

在这里插入图片描述

locate

将所有目录里的所有文件生成一个数据库,通过搜索数据库快速定位想要查找的文件,使用这个命令前需要更新数据库命令:updatedb,更新后在根目录中使用locate查找文件

# locate [搜索关键字]
# 安装
yum -y install mlocate
find
find	
	-name				# 匹配名称
	-perm				# 匹配权限
	-user				# 匹配所有者
	-group				# 匹配组
	-exec...{}\;		# 
	-type               #查找的文件类型   d 目录  f 文件  l 链接
  • 如果省略路径,表示在当前路径查找

  • 通配符,在使用find 命令时同时可用

    #搜索桌面目录下,文件名包含`1`的文件
    find  -name "*1*"
    #搜索桌面目录下,所有以`.txt`为扩展名的文件
    find -name "*.txt"
    #搜索桌面目录下,以数字`1`开头的文件
    find -name "1*"
    

-type参数指定要查找的文件类型

在这里插入图片描述

在桌面创建passwd目录,然后进到passwd目录里面,创建一个passwd文件,里面内容是123456

[root@zs passwd]# find /root/Desktop/ -name "passwd"    #显示目录和文件
[root@zs passwd]# find /root/Desktop/ -name "passwd"  -type d  #只显示目录
[root@zs passwd]# find /root/Desktop/ -name "passwd"  -type f  #只显示文件

在这里插入图片描述

在根目录中将所有的zs.txt文件复制到root用户的家目录下

find / -name zs*.txt -exec cp -a {} /root \;
**说明**:

- /:根目录

- *:表示匹配所有。
- -exec:表示执行命令,允许在找到每个文件后执行指定的命令。
- cp:复制命令。
- -a:表示复制的时候,尽可能保持文件的结构和属性。

- {}:表示查找到的东西。

- /root:root用户的家目录。

- \:表示结束。
find /boot -size +10M |xargs cp -r '{}' /tmp
find /tmp -size +10M |xargs rm -rf


find /boot -size +10M -exec cp -r '{}' /tmp \;

5、系统状态检测命令

查看或配置网卡信息

一台计算机i中可能会有一个或物理网卡,和多个虚拟网卡,在Linux中,物理网卡的名字通常以 ensXX 表示··

  • 127.0.0.1本地回环/环回地址,一般测试本机网卡是否正常
#查看网卡配置信息
ifconfig
#查看网卡对应的IP地址
ifconfig | grep inet

网卡配置

先查看网卡ip a 或者ifconfig 命令

在这里插入图片描述

切换到配置文件的路径

cd /etc/sysconfig/network-scripts
ls

在这里插入图片描述

使用vim ifcfg-ens33查看

在这里插入图片描述

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
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=ba68ee71-854f-4389-8b51-e5d61fc15d8a
DEVICE=ens33
ONBOOT=no

里面有一些多余的,可以在命令模式下光标放在首行,然后先按方向键↓ 然后2dd,在按方向键↓ 然后9dd 把多余的删掉

TYPE=Ethernet
BOOTPROTO=dhcp  #动态获取IP地址,可以换成static,改为手动配置固定IP地址 
DEVICE=ens33
ONBOOT=yes    #network网络配置服务 改为yes,表示启动,系统启动时激活此设备


#配置静态IP地址需要加上下面几个配置
===========================================================================
GATEWAY=192.168.1.1   #默认网关 
METMASK='255.255.255.0'  #子网掩码
HWADDR=00:50:56:8E:47:EE #网卡物理地址
IPADDR=192.168.1.117  #静态IP地址
DNS1='192.168.1.2'  #dns服务

修改完后需要重启network服务

systemctl restart network

测试网络连通性ping

ping命令 检查网络是否正常通信,Linux下默认ping不会结束,使用ctrl+c强制结束

示例 :ping www.baidu.com

#检测到目标主机是否连接正常
ping IP地址

#检测本地网卡工作正常
ping 127.0.0.1
col1col2
-c指定ping几个数据包结束
-i指定发送数据包的间隔,单位是秒
-s指定发送数据的大小,单位字节
-t设置TTL的大小,TTL网络调数大小

查看系统负载信息

uptime

显示当前系统的内存使用量

free	
	-h			# 以字节为单位显示内存的大小

在这里插入图片描述

在这里插入图片描述

查看当前登录主机的用户终端信息

who

在这里插入图片描述

远程登录有两个:一个是操作界面,一个是下载文件的界面。

远程登录的是pts

本机登录的是tty1

调取主机的被访问记录

last

Linux系统每次的登录信息都会被记录在日志文件中,可以通过last来查看

在这里插入图片描述

路由追踪

tracepath

显示网络连接、路由表、接口状态等信息

netstat
	-r			# 显示系统的路由表信息
	-a			# 显示所有网络(socket)连接
	-ano		# 查看监听的端口
	-p			# 显示正在使用的网络连接
	-t			# 显示tcp协议连接状态
	-n			# 使用ip地址,不适应域名

在这里插入图片描述

route 
	-n

在这里插入图片描述

显示执行过的历史命令

history

下图中的.bash_history文件也可以查看到历史命令
在这里插入图片描述

修改

vim /etc/profile

在这里插入图片描述

6、远程管理常用命令

关机/重启shutdown/init

init 0 关机
init 6 重启
poweroff 关机

选项含义
-r重新启动
now立刻关机
  • 不指定选项和参数,默认表示1分钟后关闭电脑
  • 远程维护服务器时,最好不要关闭系统,而应该重启系统
#重新启动操作系统,其中now 表示现在
shutdown -r now

#立即关机  其中now表示现在
shutdown now

#系统会在今天的20:25会关机
shutdown 20:25

#系统十分钟后自动关机
shutdown +10

#取消之前的指定的关机计划  cancel取消
shutdown -c  

SSH远程登陆

命令对应英文作用
ssh 用户名@IPsecure shell远程登陆
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径secure copy远程复制文件

SSH连接

在Linux中SSH是非常常用的工具,通过SSH客户端可以连接到运行了SSH服务器的远程机器上

  • 默认端口号22,如果端口号默认,连接的时候可以省略
"""
数据传输是加密的,可以防止信息泄露
数据传输是压缩的,可以提高传输速度
"""
  • SSH是一种网络协议,用于计算机之间的加密登录,Linux下默认开启sshd服务,只有开启sshd服务才能进行ssh连接
  • 可以使用 service sshd status 查看是否开启sshd服务, active(running)表示已经开启
  • 没有开启可以 sudo apt-get install openssh-server

SSH高级

提示:有关SSH配置信息都保存在用户家目录下的 .ssh目录下

(1)免密码登陆

步骤

  • 配置公钥
    • 执行 ssh-keygen即可生成SSH钥匙,一路回车即可
  • 上传公钥到服务器
    • 执行 ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥

非对称加密算法:

  • 使用公钥加密的数据,需要使用私钥解
  • 使用私钥加密的数据,需要使用公钥解密

(2)配置别名

~/.ssh文件夹下创建 config文件

~/.ssh/config里面追加内容:

#mac 就是别名名称
Host mac
	HostName  ip地址
	User zs
	Port 22

保存之后,即可使用 ssh mac实现远程登陆,scp 同样也可以


SCP复制文件

  • scp 就是 secure copy ,是一个在Linux下用来进行远程拷贝文件的命令
  • 它的地址格式与SSH基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写的
#把本地01.py文件复制到远程家目录的DeskTop/01.py
scp -P port 01.py user@remote:DesekTop/01.py

#把远程家目录下的DeskTop/01.py 文件,复制本地当前目录下的01.py
scp -P port user@remote:DeskTop/01.py 01.py

#加上-r 选项可以传送文件夹
#把当前目录下的demo文件夹,复制到远程家目录下的DeskTop
scp -r demo user@remote:DeskTop

#把远程家目录下的DeskTop 复制到当前家目录下的demo文件夹
scp -r user@remote:DeskTop demo
选项含义
-r若给出的源文件是 目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P若远程SSH服务器 的端口不是22,需要使用大写-P 选项指定端口

注意:

  • scp 这个终端命令只能在 Linux 或者 UNIX系统下使用
  • 如果在 Windows系统中,可以安装 PUTTY,使用 pscp命令行工具或者安装 FileZilla使用 FTP进行问加你传输

FileZilla

  • FileZilla在传输文件时,使用的是 FTP而不是 SSH服务,因此端口号应设置为 21

Windows安装SSH服务

  • 打开 PowerShell 命令行(管理员)
  • 查看是否已经安装
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
  • 安装OpenSSH客户端
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
  • 安装 OpenSSH 服务器
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
  • win+R,cmd打开命令行,输入net start sshd,启动SSH
  • win+R, cmd打开命令行,输入net stop sshd 关闭SSH

7、用户权限相关命令

用户和权限

  • 用户是Linux系统工作中重要 的一环,用户管理包括用户管理
  • 在Linux中,不论是由本机还是远程登录系统,每个系统都必须有一个账号,并且对于不同的系统资源拥有不同的使用权限
  • 在Linux中,可以指定每一个用户针对不同的文件或者目录的不同权限
  • 文件/目录的权限包括:
权限英文缩写数字代号
readr4
writew2
执行executee1

用户组:LInux有一个组的概念,不同的用户分到一个组,那么同组下的用户可以用这个组的权限


⽤⼾学习必会的两个⽂件
/etc/passwd 记录了⽤⼾的账⼾信息

在这里插入图片描述

zs❌1000:1000:zs:/home/zs:/bin/bash
第⼀段:⽤⼾名
超级管理员:root⽤⼾ uid 0
普通⽤⼾:⾃⼰创建的⽤⼾,可以登录操作系统
程序⽤⼾:给予程序执⾏的时候⼀个⾝份,id号⼀般情况下1-999
第⼆段:密码占位符
第三段:⽤⼾的uid
第四段:⽤⼾的gid
第五段:⽤⼾的描述信息
第六段:⽤⼾的家⽬录
第七段:⽤⼾登录的解释器

另外一份文件vim /etc/shadow 存放了用户加密后的密码
在这里插入图片描述

第⼀段:⽤⼾名
第⼆段:加密后的密码
第三段:最近⼀次密码修改⽇期距离1970年到现在的天数,unix诞⽣
第四段:密码的最短有效期,3,⽤⼾三天内不能修改密码
第五段:密码的最⻓有效期,⼀般都是90天
第六段:密码过期7天前提醒
第七段:密码的不活跃期
第⼋段:账⼾的失效⽇期举例1970年1⽉1⽇的天数

man crypt

在这里插入图片描述

root用户不受文件权限限制

在这里插入图片描述

文件权限解释:

第一段:

l:链接
d:目录
c:字符型设备
b:块设备

第⼆段:⽂件的所属者权限
第三段:⽂件的所属组权限
第四段:其它⽤⼾的权限
第五段:.代表selinux的标签

要求设定saury密码的最⻓有效期时间为90天,设定saury账⼾登录系统的时候必须修
改⾃⼰的密码,设定saury账⼾失效时间为2023 10 1⽇

chage -M 90 saury 密码最⻓有效期
chage -d 0 saury ⽤⼾登录必须修改密码
chage -E 2023-10-1 saury 账⼾失效时间

超级用户

  • Linux系统中 root 账户通常用于系统维护和管理,对操作系统所有资源具有所有访问权限
  • 在大多数Linux版本中,都不推荐直接使用root 账户登陆系统
  • 在Linux安装过程中,系统会自动创建一个用户账号,而这个默认的用户就成为标准账户

sudo:

  • su示另一个用户的身份
  • sudo 命令用来以其他身份来执行命令,预设的身份为 root
  • 用户 sudo 时,必须输入密码,之后有五分钟的有效期限,超过期限必须重新输入密码

组管理命令

提示创建组/删除组 的命令都需要通过 sudo 执行

命令作用
groupadd 组名添加组
groupdel 组名删除组
cat /etc/group确认组信息
chgrp -R 组名 文件/目录名递归修改文件/目录的所属组

小提示:

  • 组信息都保存在 /etc/group
  • /etc目录是专门用来保存系统配置信息的目录

用户管理

用户管理包括:创建用户,删除用户,修改用户帐号属性,创建用户组,修改用户组属性
创建用户/删除用户/修改其他用户密码的终端命令斗需要 sudo执行.

创建用户/设置密码/删除用户
命令作用说明
useradd -m -g 组名 新建用户添加新用户-m自动创建用户家目录<br />-g 指定用户所在的组,否则会建立一个和同名的组
passwd 用户名设置用户密码如果是普通用户 直接使用passwd修改密码
userdel -r 用户名删除用户-r 自动删除用户家目录
cat /etc/passwd确认用户信息新建用户后,用户信息会保存在/etc/passwd文件中
# 添加用户的一些选项
* 命令 ;useradd 「用户名」
* 选项说明:
  * -d指定新账户的主目录
  * -g 指定用户的所属组
  * -G指定用户附加组
  * -s指定用户登录shell
  * -m自动创建家目录
  * -u 用户ID
  * -o 强制

为⽤⼾设定密码以及查看密码状态

passwd -S saury #查看⽤⼾状态
useradd -u 0 -o -d /bin xjh &>/dev/null #创建与root同权账⼾

# -o强制uid为0,-d指定家⽬录,&>/dev/null不管正确的输出还是错误的输出,全部不显⽰
echo 456|passwd --stdin saury #⾮交互设置密码
查看用户信息
命令作用
id 用户名查看用户UID和GID信息
who查看当前所有登陆的用户列表
whoami查看当前登陆用户的账户名
usermod
  • usermod 用来设置用户主组 /附加组,和登陆shell
  • 主组:通常在新建用户时指定,在 /etc/passwd的第四列GID对应的组
  • 附加组:在 etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

提示:设置了用户的附加组后,需要重新登陆才能生效

#修改用户的主组
usermod -g 组 用户名
#修改用户的附加组
usermod -G 组 用户组

#修改用户登陆shell
usermod -s /bin/bash 用户名

注意:默认使用 useradd添加用户是没有权限使用 sudoroot身份执行命令,可以使用下面的指令,将用户添加到 sudo 附加组中

usermod -G sudo 用户名

修改帐号属性

* 命令:usermod
  * -u 用户id
  * -g 所属组id
  * -a -G GID:不适用-a选项,会覆盖此前的附加组
  * -d -m将家目录内容移动至新位置
  * -l新的登录名称
  * -s该用户帐号的新登录
切换用户
  • su - 用户名
    • 加 - 同时切换到用户的家目录,不加直接在当前目录切换到新用户
  • exit 退出当前登陆的账户

修改文件权限

命令作用
chown修改拥有者
chgrp修改组
chmod修改权限
#修改文件|目录的拥有者
chown 用户名  文件名|目录名


#递归修改文件|目录的组
chgrp -R 组名  文件名 | 目录名

#递归修改文件的权限
chmod -R 755 文件名|目录名
  • chmod可以修改用户/组/对文件/目录的权限

  • 命令格式:

    # +增加权限 -取消权限
    chmod +/- rwx 文件名|目录名
    
  • 每个文件,都有三组不同的权限,第一组文件所有者,第二组文件所属组 ,第三组是其他用户

      1. u 文件所有者修改所有者权限,chmod u+/-/=rwx filename
      1. g 文件所有组 修改所属组权限: chmod g+/-/=rwx filename
      1. o 其他用户 修改所属组权限: chmod o+/-/=rwx filename
  • 命令:chmod 755 文件名| 目录名 指定权限修改

  • chmod中第一个数字是代表所有者权限,第二个数字代表所属组权限,第三个数字代表其他人权限

  • 八位赋权法

在这里插入图片描述

权限八位赋权法表示
r4
w2
e1

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

特殊 权限

粘滞位
只对⽬录⽣效,
只有⽂件的所属者才可以删除⽂件

在这里插入图片描述

suid

只对可执⾏⽂件⽣效

任何⽤⼾执⾏该⽂件都是以⽂件所属者⾝份运⾏的

在这里插入图片描述
在这里插入图片描述


8、系统信息相关命令

时间和日期

命令作用
cal(calendar)查看日历, -y选项可查看一年的日历
date查看系统当前时间

例如:

date "+%Y-%m-%d %H:%M"				# Y:年 m:月 d:日 H:时 M:分 S:秒
date "+%j"							# 显示今天是当年的第几天

查看磁盘的空间

命令作用
df -hdisk free 显示磁盘剩余空间
du -h 目录名disk usage 显示目录下的文件大小
  • df -TH 查看磁盘分区,以及挂载情况
  • du -sh [目录名] 查看目录大小
  • du -h [文件名] 查看文件大小

选项说明:

参数含义
-h以人性化的方式显示文件大小

查看内核/操作系统/CPU信息

  • uname -a 查看内核/操作系统/CPU信息
  • uname -i 查看硬件平台
  • uname -m查看CPU
  • uname -n节点名称
  • uname -o操作系统
  • uname -v 内核版本
  • uname -r 发行版本号

进程管理

  • 所谓进程,就是当前正在执行的一个程序
命令作用
ps auxprocess status 查看进程的详细状况
top动态显示运行中的进程并且排序
kill -9 进程代号终止指定代号的进程 -9表示强行终止
pidof返回相应的进程ID
ps

ps默认只会显示当前用户通过终端启动的应用程序

  • ps 选项说明:
选项含义
a显示终端上的所有进程,包含其他用户的进程
u显示进程的详细状态
x显示没有控制终端的进程

在这里插入图片描述

# 说明

- USER:进程所有者

- PID:进程ID号

- %CPU:运算器占用率

- %MEM:内存占用率

- VSZ:虚拟内存占用率

- RSS:占用的固定内存量

- TTV:所在的终端

- STAT:进程状态
  - R:进程正在运行或在运行队列中等待执行。
  - S:中断状态(进程处于休眠中,当某个条件形成后会脱离该状态)
  - D:不可中断状态(进程处于不可中断睡眠状态,通常在等待某些 I/O 操作(如磁盘 I/O)完成时出现。)
  - Z:僵死状态(进程已经中止,但是进程的描述符还存在,直到父进程退出后才释放)
  - T:停止状态(进程被暂停执行,通常是收到停止信号(如 `SIGSTOP`)或调试信号(如 `SIGTSTP`)导致的。)
  - <:高优先级进程
  - N:低优先级进程
  - L:被锁进内存
  - s:包含子进程
  - I:多线程进程
  - +:位于前台的进程组

- START:进程的开始时间

- TIME:进程已经使用的CPU时间

- COMMAND:进程的命令名称和参数
top
  • top 查看进程实时运行情况,即系统资源实时使用情况
  • 退出 top界面输入 q

在这里插入图片描述

**说明**:

- top:系统时间

- up:运行时间

- 3 user:登录的终端数

- load average:系统的负载,<u>0.00表示一分钟内的负载,0.06表示5分钟内的负载,0.07表示15分钟内的负载</u>。这个值越高系统的负载就大,这个值越低表示系统处于空闲中。


kill
  • 使用 kill 命令时,最好只终结当前用户开启的进程,不要终止 root身份开启的进程,否则导致系统崩溃
pidof

用于查找指定名称进程的进程ID
在这里插入图片描述

9、 其他命令

wget 终端下载网络文件

wget
	-b			# 后台下载模式
	-P			# 下载到指定目录
	-t			# 最大尝试次数
	-c			# 断点续传
	-p			# 下载页面里面的所有资源
	-r			# 递归下载
	-

例如

wget -p http://www.xxx.xx/		# 后面加上下载网页路径

history 查看历史命令

命令描述
history查看历史命令
history -c删除历史命令记录

打包压缩

  • 在不同操作系统中,常用的打包压缩方式是不同的
    • windows下常用 rar
    • Mac下常用 zip
    • Linux下常用 tar.gz
1、打包/解包

dd命令

读取硬盘字节内容,主要完成磁盘对拷。生成一个100M 大小的文件

/dev/zero是一个抽象的设备文件,实际并不存在,他有无数个0组成

dd if=/dev/zero of=/root/Desktop/bigfile bs=1M count 100

#利用dd命令生成一个文件,是/dev/zero 文件名设置为bigfile 单个文件的大小为1M,一共100个

在这里插入图片描述在这里插入图片描述

  • tar是可以把无法被压缩的目录转换成特殊的包文件格式,包文件可以被压缩
  • tar 选项说明:
选项含义
c生成档案文件,创建打包文件
x解开档案文件
v列出归档解档的详细过程,显示进度
f指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

注意:f选项必须放在最后,其他选项顺序可以随意

  • tar命令格式
#打包文件
tar -cvf 打包文件.tar  被打包的文件/路径、、
#解包
tar -xvf 打包文件.tar
#打包 
[root@zs Desktop]# tar -cvf demo.tar ./demo/

在这里插入图片描述

#解包
tar -xvf python.tar

在这里插入图片描述

2、压缩和解压缩

(1)gzip命令

gzip一般跟 tar一起使用,完成打包压缩
tar只负责打包并没有做压缩,使用 -z 选项可以调用gzip压缩,完成打包压缩
使用tar打包压缩的文件名,一般命名为xxx.tay.gz区别与其他文件

压缩文件

[root@zs Desktop]# tar -zcvf demo.tar.gz demo/

在这里插入图片描述

解压缩文件

#解压缩文件
[root@zs Desktop]# tar -zxvf demo.tar.gz
#解压缩到指定路径
[root@zs Desktop]# tar -zxvf demo.tar.gz -C 目标路径

-C指解压到哪里,解压的目录必须存在

在这里插入图片描述

(2)bzip2命令

bzip2使用方式跟gzip差不多,也是由tar去调用,使用 **-j ** 选项
bzip2压缩的文件命名采用 xxx.tar.bz2

压缩文件

tar -jcvf py.tar.bz2 a.txt b.txt

解压缩文件:

#解压缩
tar -jxvf py.tar.ba2
#解压缩到指定路径
tar -jxvf py.tar.ba2 -C 目标目录

软链接

使用说明
ln -s 被链接的源文件 链接文件建立文件的软链接,用通俗的话将类似于Windows下的快捷方式
  • 注意:
  • 1.没有 -s 选项建立的是一个硬链接文件
    • 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
  • 2.源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
#绝对路径
ln -s /home/python/Desktop/demo/b/c/01.py  01_juedui

10、软件管理

ubuntu软件管理

  • apt (Advanced Packaging Tool),是Linux下的一款安装包管理工具
  • 可以在终端方便安装、卸载,更新软件包
#安装软件
sudo apt install 软件包
#卸载软件
sudo apt remove 软件名
#更新软件
sudo apt upgrade 

案例演示:

sudo apt install ssh
sudo apt upgrade ssh
suod apt remove ssh

#一个小火车提示
sudo apt install sl

#一个比较漂亮的查看当前进程排名的软件
sudo apt install htop

Centos7软件安装

源码安装

源码包:C语言写的,可以在linux的不同版本上安装

以安装apache服务为例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

安装源码包程序,⼀定在软件解压⽬录下操作

./configure #⽣成makefile⽂件,makefile⽂件决定编译的顺序
make #编译
make install #将编译好的程序复制粘贴到--prefix选项指定的⽬录⾥,默认是/usr/local/apache2

启动apache服务

/usr/local/apche2/bin/apachectl start

在这里插入图片描述

切换到安装目录下/usr/local/apache2

在这里插入图片描述

在这里插入图片描述

⽹站根⽬录,放在该⽬录下的⽂件,会被访问者看⻅

rpm安装

Centos7的系统自动的rpm软件包的路径在/run/media/root/CentOS 7 x86_64/Packages
在这里插入图片描述

查看操作系统安装了那些程序rpm -qa

在这里插入图片描述

在这里插入图片描述

FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm 这个软件包为例

查看安装包的信息 rpm -qpi

#--scripts 是查看软件安装前封装的命令,和删除前封装的命令
rpm -qpi --scripts FluffyMcAwesome-A-6.4.0-11.r19335.x86_64.rpm

在这里插入图片描述

查看软件安装后命令字的位置

rpm -qpl  rmp软件包包

在这里插入图片描述

在这里插入图片描述

安装软件包 -i安装 -v 显示安装信息 -h井号替代进度条
在这里插入图片描述

卸载

rpm -e lftp
yum本地源

编辑本地yum源安装liboffice

cd  /etc/yum.repos.d/

在这里插入图片描述

设置本地源之前需要开启一个服务

systemctl restart autofs  #系统重启以后,服务会自动关闭
systemctl enable autofs  #开机自启动

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

cd  /etc/yum.repos.d/

在这里插入图片描述开始配置本地源
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

yum网络源

下载配置网络源安装httpd服务

把刚创建的本地源移动back目录里

在这里插入图片描述

先配置网络源

wget -O /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

# -O 指定下载路径

在这里插入图片描述在这里插入图片描述

开始下载安装

 yum install -y httpd

在这里插入图片描述

11、vim编辑器

vim三种模式:

  • 命令模式 控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
  • 插入模式 写入数据
  • 末行模式 保存或退出文档,以及设置编辑环境

使用vim打开文件的时候,先进到命令模式。

此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置

命令模式切换到输入模式
a 在光标的后一位切换到输入模式
o 表示在光标的下一行开头切换到输入模式。
i 在光标的位置切换到输入模式
输入模式切换到命令模式

ESC键,就可以切换到命令模式

gg       #跳到第一行
G        #跳到最后一行

数字G     #光标移动到指定行
数字 方向键右键     #表示向右移动多少字符

dd       #删除光标所在的整行
5dd      #删除从光标处开始的5行
15x      #删除当前行的15个字符
yy       #复制光标所在的整行
5yy      #复制从光标处开始的5行

u        #撤销
p        #粘贴
ctrl+r   #恢复,(反撤销)
命令模式切换到末行模式

输入:,切换到末行模式

:wq            #保存退出
:q!            #强制退出
:w  demo.txt  /root/Desktop   #另存为  另存为的名字为demo.txt 存储路径是/root/Desktop

:set nu        #显示行号
:set nonu      #不显示行号

:65,73 y       #复制65-73⾏内容
:21,42 d       #删除21-42⾏内容

:50,100 s/man/Man/g  #将50-100⾏⼩写的man替换成⼤写的MAN
:s/man/Man     #将当前光标所在行的第一个man换成Man
:s/man/Man/g   #将当前光标所在行的所有man换成Man
:%s/man/Man/g  #将全文中所有的man替换成Man
:10            #光标移动到第10行

:r /root/Desktop/man.config   #读取其他文件内容

/内容     #表示搜索

使用vim时ctrl+z把程序置于后台解决方法

如果在使用vim编辑器的时候按住了Ctrl+z,把程序置于后台

可以使用jpbs命令查看后台进程

在这里插入图片描述

fg 1 把后台程序恢复到前台 1指的是后台进程的 编号

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

过期的秋刀鱼-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值