Linux系统笔记参考

Linux系统笔记

一、基本命令

1、简单的几个命令
ls:显示指定目录下的文件目录清单(list)
cd:切换目录,改变当前的工作目录(change directory)
cd ~ 或 cd 切换到用户主目录(用户家目录)
cd / 切换到根目录
cd … 上一级目录
cd . 当前目录
pwd:显示当前的工作目录 (print working directory)
man:查看帮助 – (命令行界面无该命令)-- yum install man 安装
du:用于显示目录或文件的大小
-h:以KB,MB,GB为单位,提高信息的可读性
-c或–total:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
补充:在windows和虚拟机之前切换鼠标:Ctrl + Alt

2、文件基本操作命令
2.1 ls 命令
作用:显示指定目录下的文件清单

不带参数:显示指定目录中的文件清单,如果没有指定任何目录,则默认为当前目录
[root@Server ~]# ls 显示当前目录下的内容
[root@Server /]# ls etc 显示etc目录下的内容(可以是相对路径或绝对路径)
ls -a 显示所有文件 包含隐藏文件(以.开头的文件)
ls -A 显示所有文件 包含隐藏文件
ls -t 查看目录下的所有文件和目录
ls -l 显示文件的详细信息
ls -R 递归显示目录下的文件包括子文件
ls -laR 多个参数结合使用
2.2 mkdir / rmdir 命令
作用:创建目录/删除目录(文件夹)

mkdir 创建目录
mkdir homework 创建一个homework目录
mkdir -p homework/a/b/c/d 连续创建多级目录 (了解)
mkdir d{1…9} 同时创建d1、d2…d9目录 (了解)
rmdir 删除目录(只能删除空目录)
-p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
-v --verbose 显示指令执行过程
2.3 rm命令
作用:删除文件或目录

rm 文件名

rm -i 文件名 :提示是否删除 (与用户交互)默认有提示 人机交互–

rm -f 文件名 :强制删除 (force)

rm -r 目录名 :删除目录(删除目录时,必须加-r参数)

rm -rf 目录名 强制删除目录,不会有提示
2.4 cp命令
作用:拷贝文件或目录

cp 原文件名 新文件名
cp 1.txt 11.txt
cp 1.txt homework/1.txt
cp -r 原目录名 新目录名 (拷贝目录必须加-r参数)
cp -r homework homework2
2.5 mv命令
作用:移动文件或目录

mv 原文件名/目录名 新文件名/目录名
mv 1.txt homework/1.txt 移动文件(剪切)
mv 1.txt 1.md 重命名
2.6 touch命令
作用:创建文件

touch 文件名 — touch 1.txt

2.7 find命令
作用:通过磁盘查找文件

find path -option [ -print ]

​ 表达式:与时间有关的参数:

-name: 通过文件名查找

-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件
-mtime:通过时间查找

-mtime n : n为数字,意思为在n天之前的“一天内”被更改过的文件

-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名

-mtime -n : 列出在n天之内(含n天本身)被更改过的文件名

-newer file : 列出比file还要新的文件名

-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

-amin n : 在过去 n 分钟内被读取过

-anewer file : 比文件 file 更晚被读取过的文件

-atime n : 在过去n天内被读取过的文件

-cmin n : 在过去 n 分钟内被修改过

-cnewer file :比文件 file 更新的文件

-ctime n : 在过去n天内被修改过的文件

-empty : 空的文件

-gid n or -group name : gid 是 n 或是 group 名称是 name

-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

-type c : 文件类型是 c 的文件。

2.8 du命令
​ -h 在档案系统大小使用 GB、MB、KB 等的格式来展示。

2.9 通配符

  • 匹配任意多个字符
    rm .txt 删除所有的后缀为txt的文件
    rm a
    删除所有的以a开头的文件
    ?匹配一个字符
    rm ?.txt 删除文件名只有一个字符的txt文件
    3、显示文件内容
    3.1 cat命令
    作用:显示文件内容在屏幕中 查看文件内容

cat 1.txt:在屏幕上显示1.txt的内容
cat 1.txt > 文件名:将1.txt的内容重定向覆盖到文件里
cat 1.txt >> 文件名:将1.txt的内容重定向追加写到文件里
3.2 more和less命令
作用:分屏显示,非常适合显示超过一屏的文本文件。 按空格翻页

more /etc/httpd/conf/httpd.conf

less /etc/httpd/conf/httpd.conf

按q键退出显示

在less下 输入/关键字 可以搜索

3.2 head/tail命令
作用:显示文件头/尾10行内容

head httpd.conf 显示头10行
tail httpd.conf 显示尾10行
tail -f 实时监测文件内容
3.3 echo命令
作用:显示文字

echo string > filename:打印string到filename

echo string >> filename:打印string追加到filename

4、搜索文件内容grep
作用:根据关键字搜索并显示关键字所在的行

用法:grep [参数] 关键字 文件名

grep l 1.txt 显示出l所在的行

grep “o w” 1.txt 如果要查找中间有空格的 需要加’ '或“ ”

grep -i L 1.txt 忽略大小写查找 即大写L和小写l都可查找到

grep -v l 1.txt 显示不匹配的行

grep -n l 1.txt 显示匹配的行的行号

grep -c l 1.txt 显示匹配的总行数

grep -E 将样式为延伸的正则表达式来使用。

二、管理用户、组的命令
Linux采用组来组织和管理用户

在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。

同时每个用户也必须至少属于一个组,也有组标识符GID。

其中UID与GID独立编号。

查看用户信息(cat /home/etc/passwd)
用户名:密码:UID:GID:描述:宿主目录:

1、groupadd 添加组
[root@server ~]# groupadd group1 新增组

[root@server ~]# groupadd -g 888 group1 新增组并指定GID 一般不建议手动指定id

功能:创建一个新组group1,其GID号为已存在GID号的下一个顺序编号

说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成员等信息。

2、groupdel 删除组
[root@server1 ~]# groupdel group2

功能:删除指定的组

注意:当某个组是某现有用户的主要组时,则不能被删除。

3、useradd 添加用户,创建用户
[root@server1 ~]# useradd user1 新增用户 如果没有指定用户组,则用户自己成为一组

功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。 普通用户的家目录

说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、 GID号、主目录、shell等信息。

[root@server1 ~]# useradd -u 600 -g group1 -G group2 -d /home/student1 user1

功能:创建用户user1,其中参数

-p 设置用户密码

-u 指定UID号为600;

-g 指定用户的主要组为group1(或ID);

-G 指定用户的附加组为group2,每个用户可以有多个附加组;

-d 指定用户的主目录为/home/student1。

-e 设置用户失效时间日/月/年

chage -l 用户名 查询用户失效时间

-s 设置用户的登陆shell

gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow的管理工具,用于指定要管理的工作组

​ -a : 添加用户到组

​ -d : 从组删除用户

​ -A:指定管理员

​ -M:指定组成员和-A的用途差不多;

​ -r:删除密码;

​ -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

查看用户所在的组

[root@server1 ~]# groups user1

修改用户所在的组

[root@server1 ~]# usermod -g group2 user1

4、passwd 密码管理
[root@server1 ~]# passwd user1 改变口令

=>输入两次密码即可

功能:root管理员为用户指定密码 。

[user1@server1 ~]$ passwd 改变用户自身密码

=>输入当前密码

=>输入两次新密码即可

功能:用户为自己修改密码。(字母+数字+符号)

普通用户只能修改自己的密码

[root@server1 ~]# passwd -d user1 删除密码
​ Removing password for user user1.

​ passwd: Success

​ 功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。

[root@server ~]# passwd -l user1 禁止用户登录

Locking password for user user1.

passwd: Success

功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录,用户密码失效。

[root@server1 ~]# passwd –u user1 恢复该用户登录

Unlocking password for user user1.

passwd: Success.

功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。

切换用户:# su user1

5、userdel 删除用户
[root@server1 ~]# userdel user1 删除用户

功能:删除指定的用户user1。

[root@server1 ~]# userdel -r user2

功能:删除指定的用户user2,同时删除其主目录。

6、id 显示用户信息
[root@server1 ~]# id user1

uid=501(user1) gid=501(user1) groups=501(user1)

功能:显示用户的UID、GID及所属的组信息。

7、usermod
usermod 用户
-c<备注>  修改用户帐号的备注文字。
-d登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s  修改用户登入后所使用的shell。
-u  修改用户ID。
-U  解除密码锁定
三、文件属性
1、chown 改变文件的所有者
[root@server1 ~]# chown user1 hello.txt

功能:将指定文件hello.txt的所有者改为user1。

[root@server1 ~] chown -R user1 homework

功能:参数-R表示递归 将目录下的所有文件的所有者改为user1

同时改变文件的属主和属组

chown user:group 文件名 创建数组

2、chgrp 改变文件的所属组
[root@server1 ~]# chgrp group1 hello.txt

功能:将指定文件hello.txt的属组改为group1。

[root@server1 ~] chgrp -R group1 homework

功能:参数-R表示递归

3、chmod 改变文件权限
[root@server1 ~]# ls -l

-rw-r–r-- 1 Mr_lee staff 29 12 14 16:15 1.txt
drwxr-xr-x 4 Mr_lee staff 136 10 11 18:44 Applications
第1列:表示是否是目录或文件 -代表文件 d代表目录 第2-4列:表示用户权限 user 第5-7列:表示所在的组权限 group 第8-10列:表示其他人权限 other

r : read 可读 w : write 可写 x : execution 可执行 u : user g : group o : others a : all 等价于ugo

=: 表示赋予(设置)指定权限,要注意它会覆盖原权限

+: add permission 添加权限

-: take away permission 移除权限

示例:

chmod a+rwx 1.h 给所有人(ugo)添加可读可写可执行权限
chmod go-wx 1.h 给所在的组和其他人移除写和执行权限
数字表示法:chmod 755 1.h 等价于 用户:rwx 所在组:r-x 其他人:r-x 即r = 2^2 , w = 2^1 , x = 2^0 ,而 “-” = 0

chmod 777 1.txt

chmod 400 1.txt

四、进程操作
1、ps命令
功能:查询在当前控制台上运行的进程。

-e:查看所有进程

-f:全格式输出

-ef:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。

-a:显示现行终端机下的所有程序,包括其他用户的程序。

-c:类似于ps -a,不包括路径

-au:显示更详细的资讯

-aux:显示所有包含其他使用者的进程

​ 功能:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的 进程,参数u显示用户。

2、pstree命令 (了解)
树状格式显示进程列表

[user1@server ~]$ pstree

带进程号的树状格式显示进程列表

[user1@server ~]$ pstree -p

3、top命令(了解)
[user1@server ~]$ top

功能:动态地显示系统中的进程。

4、kill命令(杀掉指定进程 )
kill 3029:杀掉pid为3029的进程

kill -9 3029:强制杀掉pid为3029的进程

补充:| 管道 – 连接两个命令的输入和输出,将一个命令的输出作为另一个命令的输入

​ ps -ef | grep bash 查找包含bash的进程 管道查询

五、文本编辑器vi命令
1、简介
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

vi编辑器的三种模式是command(命令行)模式、inser(插入)模式和visual(可视化)模式

vi abc.txt 进入编辑器,此时并不能编辑文本,

需要通过输入【i/I、o/O、a/A、r/R】进入编辑模式,可修改文本文件,

在编辑模式中修改完毕后,输入【esc】切换回命令行模式,

在命令行模式中输入【:wq、:q、:x】即退出

2、保存/退出
以下指定需要在命令行模式下输入:

:w 保存文本
:q 不保存文本并退出vi
:q! 不保存文本并强制退出vi (常用)
:wq 保存文本并退出vi (常用)
3、编辑模式
进入文本编辑器,输入【i/I、o/O、a/A、r/R】进入编辑模式:

i:在光标处插入(常用)
I:在光标所在行第一个非空格字符处插入 – 行首 (常用)
o:在光标所在行的下一行插入新的一行(常用) – Other
O:在光标所在行的上一行插入新的一行
a:在光标所在位置的下一个字符处开始插入
A:在光标所在行的最后一个位置开始插入 – 行尾 (常用)
r:替换光标所在位置的字符(只替换一次)
R:一直替换光标所在位置的字符,直到按(esc)键为止
4、删除、复制、粘贴、撤消
​ dd:删除(剪切)光标所在行
​ ndd: 删除(剪切)光标所在的向下n行 5dd
​ yy: 复制当前行
​ nyy: 复制光标所在的向下n行 6yy
​ p: 将已复制的数据在光标下一行粘贴
​ P: 将已复制的数据在光标上一行粘贴
​ u: 撤消删除
​ shift + g 文件尾
​ shift + G 文件头
六、IP
1、IP
ifconfig :查看ip地址

ping:用于检测主机

ssh:Linux的远程传输服务

wget:wget [参数] [URL地址]启动参数:

whereis:查找数据(比find快得多,whereis通过Linux数据库的索引来查找,find通过搜索硬盘来查找。

​ 缺点:但是数据库不是实时更新的,约一周一次)

-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
which:用于查找文件(在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果)

-n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w  指定输出时栏位的宽度。
-V  显示版本信息。
3、设置防火墙
systemctl status firewalld.service(systemctl status firewalld)(firewall-cmd --state):查看防火墙状态
看防火墙状态命令:firewall-cmd --state //running 表示运行
systemctl stop firewalld.service(systemctl stop firewalld):关闭防火墙
systemctl start firewalld.service( systemctl start firewalld):启动防火墙
永久放行某个服务: firewall-cmd --permanent --zone=public --add-service=ssh//永久
临时放行某个服务: firewall-cmd --zone=public --add-service=ssh //临时放行,重新启动系统后失效。
当我们重新放行某个服务后需要重新加载一下防火墙,命令如下: firewall-cmd --reload
如果不放行某个服务,其命令如下: firewall-cmd --permanent --zone=public --remove-service=ssh//永久
临时不放行某个服务: firewall-cmd --zone=public --remove-service=ssh
临时关闭某个服务后,也需要重载防火墙: firewall-cmd --reload
获取所有支持的服务: firewall-cmd --get-service(通过此命令可以查看到防火墙所支持的所有服务,这里查询到的服务,防火墙可放行你,也可以不放行你) firewall-cmd --get-service | grep ssh(其中“|”为管理命令,前面的查询到的数据能过管道符传送给右边的命令进行过虑。)
查询SSH服务在防火墙中是否放行,yes代表放行,no代表不放行,例如我要查看ssh服务是不是被防火墙放行,可用: firewall-cmd --query-service ssh
七、服务
1、服务设置
查看服务状态

systemctl status/stop/start/restart 服务名

service 服务名 status/stop/start/restart
2、开机关机指令
reboot 重启系统或服务

shutdown

-r 重启系统
-h now 现在关机
poweroff 关机

3、crontab命令(定时函数)
-e:执行文字编辑器来设定时程表,内定的文字编辑器是 vi
-r : 删除目前的时程表
-l : 列出目前的时程表
语法:

          • program

| | | | | ±-- 要执行的程序
| | | | ±--------- 星期中星期几 (0 - 6) (星期天 为0)
| | | ±-------------- 月份 (1 - 12)
| | ±------------------- 一个月中的第几天 (1 - 31)
| ±------------------------ 小时 (0 - 23)
±----------------------------- 分钟 (0 - 59)
*表示每分钟 a-b表示从第a分钟到第b分钟
*/n表示每n分钟时间间隔执行一次 a,b,c,…表示第a,b,c,…分钟执行
4、date命令
作用:

+:以加号开头可以用来显示系统的日期与时间

date

Wed Jun 23 20:42:55 PDT 2021

date ‘+%c’

Wed 23 Jun 2021 08:44:59 PM PDT

date ‘+%D’ //显示完整的时间

06/23/21

date ‘+%x’ //显示数字日期

06/23/2021

date ‘+%T’ //显示24小时制时间

20:46:25

date ‘+%X’ //显示12小时制时间

08:47:11 PM
-s:以-s作为开头,则表示要设定时间 修改时间date-s
date [-u] [-d datestr] [-s datestr] [–utc] [–universal] [–date=datestr] [–set=datestr] [–help] [–version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
八、软件安装
1、tar命令
参数

c 压缩文件
x 解压文件
z 格式为gzip
j 格式为bz2
v 显示执行文件列表
f 要操作的文件
直接解压

tar –zxvf xxx.tar / xxx.tar.gz

tar -zxvf 909.tar.gz -C /root (我们可以利用大写-C将解压后的文件指定相关的目录。)

2、Yum命令
基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装。

-y 当安装过程提示选择全部为 “yes”
-q 不显示安装的过程
Yum是centOS独有的安装命令,需要外网环境,可以自动加载安装文件,及其所有依赖资源,并自动完成软件安装。

九、补充
1、clear(清屏命令)
2、cd(回到当前用户的家目录命令)
3,查linux的IP地址:ifconfig
4、ssh
远程连接协议选择ssh协议,端口号为:22

在进行远程操作的时候要确保sshd的进程是开启的:

查看状态:systemctl status sshd.service
启动服务:systemctl start sshd.service
重启服务:systemctl restart sshd.service
停止状态:systemctl stop sshd.service
netstat -anp|grep :22

在进行远程链接的时候注意关闭防火墙:

systemctl stop firewalld.service(systemctl stop firewalld)

启动防火墙的命令:

systemctl start firewalld.service( systemctl start firewalld)

查看防火墙状态:

systemctl status firewalld.service(systemctl status firewalld)(firewall-cmd --state)

如果通过ifconfig查询不到IP则表明网关是关闭,此时需要修改网关的配置文件:

1、cd /etc/sysconfig/network-scripts/2、ls查看网卡的配置文件cfg-ens333

3、修改该文件 vi cfg-ens33

4,我们需要首先找到ONBOOT=no ,需要修改为ONBOOT=yes然后保存退出。

5、重启网络服务: service network restart

查看防火墙状态命令: firewall-cmd --state //running 表示运行 获取所有支持的服务: firewall-cmd --get-service(通过此命令可以查看到防火墙所支持的所有服务,这里查询到的服务,防火墙可放行你,也可以不放行你) firewall-cmd --get-service | grep ssh(其中“|”为管理命令,前面的查询到的数据能过管道符传送给右边的命令进行过虑。) —————————————————————————— 查询SSH服务在防火墙中是否放行,yes代表放行,no代表不放行,例如我要查看ssh服务是不是被防火墙放行,可用: firewall-cmd --query-service ssh —————————————————————————————————————————————————— 永久放行某个服务: firewall-cmd --permanent --zone=public --add-service=ssh//永久 临时放行某个服务: firewall-cmd --zone=public --add-service=ssh //临时放行,重新启动系统后失效。 当我们重新放行某个服务后需要重新加载一下防火墙,命令如下: firewall-cmd --reload 如果不放行某个服务,其命令如下: firewall-cmd --permanent --zone=public --remove-service=ssh//永久 临时不放行某个服务: firewall-cmd --zone=public --remove-service=ssh 临时关闭某个服务后,也需要重载防火墙: firewall-cmd --reload

5、vi编辑器的三种模式
Command(命令)模式,用于输入命令

Insert(插入)模式,用于插入文本

Visual(可视)模式,用于视化的的高亮并选定正文

十、Linux虚拟机不显示IP地址的三种解决方法
第一种
在命令行输入reboot命令,意味重新启动,看看是否可行。

第二种
1、先关闭虚拟机

2、打开虚拟网络编辑器

3、选择VMnet8

4、等待虚拟机自己重新配合置,配置好之后,重新启动 输入用户名和密码 输入命令:ifconfig

第三种
在虚拟机上依次运行以下三行命令:

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl start network.service

在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!

以上内容如有侵权,请联系作者进行删除

≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TinyTuiKun

感谢各位老板们的打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值