笔记参考"/>
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分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦
更多推荐
Linux系统笔记参考
发布评论