jh008_Linux常用命令
帮助命令
man: Manual
pwd: print work directory 打印当前目录 显示出当前工作目录的绝对路径
在Windows下,按下F1即可获取详尽的软件帮助页面,同样,在Linux下,每个条命令也可以通过man命令来获取使用手册。”
在Linux下,man命令的使用方法为:man + [要查询的命令]
常用快捷键和功能
ctrl + C 停止进程
ctrl + L 清屏,彻底清屏是reset
ctrl + q 退出
善于用tab键 提示(防止敲错命令)
上下键 查找执行过的命令
pwd: print work directory 打印当前目录 显示出当前工作目录的绝对路径
pwd
pwd命令是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径,下面是pwd命令内容的具体介绍:
1、pwd命令简个:
pwd命令是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径主要用在当不确定当前所在位置时,通过pwd来查看当前目录的绝对路径
2、pwd命令语法:
pwd [选项]
3、参数:
-L: --logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式)。
-p: --physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件。当包含多层连接文件时,显示连接文件最终指向的文件。
--help: 显示帮助信息
--version: 显示版本信息
LS 命令 ls:List files
格式:ls [选项] [目录名]
ls命令最基本的形式是显示当前目录下的文件和目录。ls的输出列表是按字母排序的(列排序)。
1. ls -F:-F参数在目录后面加了正斜杠(/),带有斜杠的为目录,不带的为文件,可执行文件后面带有星号(*),符号链接(@)。
2.ls -a :显示所有文件,隐藏文件和普通文件。隐藏文件前面带有点(.)。
3. ls -R :递归操作,它列出了当前目录下包含子目录中的文件。
4. ls -l :显示长列表。输出文件的详细信息。
如上图:
- 文件类型:目录(d)、文件(-)、字符型文件(c)、块设备文件(b);
- 文件的权限:读(r)写(w)执行(x);用户、用户组、其他。
- 文件的硬链接总数。
- 文件属主用户名。
- 文件属组用户名。
- 文件的大小(以字节为单位)。
- 文件的上次修改时间。
- 文件名称或文件夹名称。
5.ls -S :按文件的大小排序。
6. ls -r :默认排序的倒排序。
7. ls -L :当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息。
8. ls命令支持通配符,过滤输出列表。
问号(?)代表一个字符
星号(*)代表零个或多个字符
中括号[ abc]、[a-z]、排除用感叹号[!a];
9. ls还有众多的命令选项,可以man ls 进行查阅。
cd:Change directory
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧。
1. 命令格式:
cd [目录名]
2. 命令功能:
切换当前目录至dirName
3.常用参数:
- 切换到上一次目录
~ 切换到用户home目录
/ 切换到根目录
~usdrname 切换到其他用户的home目录
.. 切换到上级目录
4. 常用范例
例1:进入系统根目录
例1:进入系统根目录
命令:
cd /
“当前用户主目录”和“系统根目录”是两个不同的概念。进入当前用户主目录有两个方法。
mkdir:Make directory
Linux mkdir 命令
Linux mkdir(英文全拼:make directory)命令用于创建目录。
语法
mkdir [-p] dirName
参数说明:
- -p 确保目录名称存在,不存在的就建一个。
实例
在工作目录下,建立一个名为 bigdata202302的子目录 :
mkdir bigdata202302
在工作目录下的 bigdata202302目录中,建立一个名为 test 的子目录。
若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 bigdata202302目录不存在,则产生错误。)
mkdir -p bigdata202302/test
rmdir:Remove directory
Linux rmdir 命令
Linux rmdir(英文全拼:remove directory)命令删除空的目录。
语法
rmdir [-p] dirName
参数:
- -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
实例
将工作目录下,名为 AAA 的子目录删除 :
rmdir bigdata202302
在工作目录下的 bigdata202302目录中,删除名为 Test 的子目录。若 Test 删除后,bigdata202302目录成为空目录,则 bigdata202302亦予删除。
rmdir -p bigdata202302/Test
touch命令简介
命令用于修改文件或者目录的时间属性,包括访问时间和修改时间,若文件不存在,系统会建立一个新的文件。
我们平时用得最多的是通过touch创建一个空文件,
实际上通过touch命令可以修改文件的atime、mtime,所以文件的真实访问时间和修改时间是可以被修改,
我们在排查系统异常的时候还需要结合日志、历史命令等等因素综合决策。
3、创建一个空文件
如果文件不存在,使用touch命令默认创建一个空文件
[root@hadoop100 test]# pwd
/root/桌面/bigdata202302/test
[root@hadoop100 test]# touch aaa.txt
修改文件或者目录的时间属性 的内容查看网络。
cp: Copy file
[root@hadoop100 test]# cp --help
用法:cp [选项]... [-T] 源文件 目标文件
或:cp [选项]... 源文件... 目录
或:cp [选项]... -t 目录 源文件...
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
linux中使用cp命令复制文件(夹),本文就日常工作中常用的cp命令整理如下。
一、复制一个源文件到目标文件(夹)。
命令格式为:cp 源文件 目标文件(夹)
这个是使用频率最多的命令,负责把一个源文件复制到目标文件(夹)下。如下图所示,复制到文件夹下,则文件名保持不变,复制到文件中,则文件名变更。
如果目标文件已经存在或目标文件夹中含有同名文件,则复制之后目标文件或目标文件夹中的同名文件会被覆盖。
二、同时复制多个文件到目标文件(夹)下。
命令格式为:cp 源文件1 源文件2 目标文件夹 或 cp 文件* 目标文件夹
三、复制源文件夹到目标文件夹下。
命令格式为:cp -r 源文件夹 目标文件夹
这个也是使用频率很高的命令,只需要记住复制文件夹一定要加“-r”参数,否则会出现“cp: omitting directory”错误。
Linux rm 命令
Linux rm(英文全拼:remove)命令用于删除一个文件或者目录。
语法
rm [options] name...
参数:
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
实例
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:
# rm test.txt
rm:是否删除 一般文件 "test.txt"? y
# rm homework
rm: 无法删除目录"homework": 是一个目录
# rm -r homework
rm:是否删除 目录 "homework"? y
删除当前目录下的所有文件及目录,命令行为:
rm -r *
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。
Linux mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
语法
mv [options] source dest
mv [options] source... directory
参数说明:
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
- -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
- -n: 不要覆盖任何已存在的文件或目录。
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
mv 参数设置与运行结果
实例
将文件 aaa 改名为 bbb :
mv aaa bbb
将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。
mv info/ logs
再如将 /usr/runoob 下的所有文件和目录移到当前目录下,命令行为:
$ mv /usr/runoob/* .
1. 命令简介
mv 命令具备两个职能:1. 将文件或文件夹移动到其他位置;2. 修改对应文件名或者文件夹名称。
在工作中,我们经常会使用它来操作备份文件或者文件夹。来吧,让我们一起来学习下。
英文含义 mv = move(移动)
3. 语法格式
语法形式 语法作用
mv [选项] 源文件 目标文件 将源文件名修改为目标文件名
mv [选项] 源文件 目标文件夹 将源文件移动目标文件夹下
mv [选项] 源文件夹 目标文件夹
1. 目标文件夹若已存在,则将源文件夹移动到目标文件夹下
2. 目标文件夹若不存在,则将源文件夹名称修改为目标文件夹名称
4. 选项说明
-b:目标文件或文件夹存在时,存在覆盖文件情况时,覆盖前进行备份操作;
-f:移动的源文件夹或文件与目标的文件夹或文件重名,直接覆盖旧文件,不进行询问;
-i:移动的源文件夹或文件与目标的文件夹或文件重名,先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作;
-n:不要覆盖任何已存在的文件或目录;
示例:
将文件 bbb.txt 名称修改为 aaa.txt
将 /root/桌面/bigdata202302/test/a 文件夹下的 aaa.txt 移动到/root/桌面/bigdata202302/test/b 文件夹下
-b:目标文件或文件夹存在时,存在覆盖文件情况时,覆盖前进行备份操作.
-f:移动的源文件夹或文件与目标的文件夹或文件重名,直接覆盖旧文件,不进行询问
-i:移动的源文件夹或文件与目标的文件夹或文件重名,先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作;
cat 查看小文件内容。
cat命令
- cat: concatenate 连锁
cat命令用于连接文件打印到输出设备中,cat是Linux的基本文本输出命令,通常用于查看文件内容。
cat主要功能
1、一次显示文件的所有内容 cat filename
2、从磁盘创建一个新文件cat >filename(只能创建新文件不能编辑已有文件)
3、将几个文件合并为一个文件cat file1 file2 > file
示例
cat -n file1 > file2 把 file1 的档案内容加上行号后输入 file2 这个档案里
cat -b file1file2 >> file3 file1 和 file2 的文档内容加上行号(空白行不加)之后将内容附加到 file3 文档里:
more
Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
语法
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数:
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
- fileNames 欲显示内容的文档,可为复数个数
实例
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。
more -s testfile
从第 20 行开始显示 testfile 之文档内容。
more +20 testfile
常用操作命令
- Enter 向下n行,需要定义。默认为1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
Linux less 命令
less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。
语法
less [参数] 文件
参数说明:
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将"tab"键显示为规定的数字空格
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- b 向上翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
- [pagedown]: 向下翻动一页
- [pageup]: 向上翻动一页
实例
1、查看文件
less log2013.log
2、ps查看进程信息并通过less分页显示
ps -ef |less
3、查看命令历史使用记录并通过less分页显示
[root@localhost test]# history | less
22 scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft
23 cd ..
24 scp -r web root@192.168.120.203:/opt/
25 cd soft
26 ls
……省略……
4、浏览多个文件
less log2013.log log2014.log
说明:
输入 :n后,切换到 log2014.log
输入 :p 后,切换到log2013.log
附加备注
1.全屏导航
- ctrl + F - 向前移动一屏
- ctrl + B - 向后移动一屏
- ctrl + D - 向前移动半屏
- ctrl + U - 向后移动半屏
2.单行导航
- j - 下一行
- k - 上一行
3.其它导航
- G - 移动到最后一行
- g - 移动到第一行
- q / ZZ - 退出 less 命令
4.其它有用的命令
- v - 使用配置的编辑器编辑当前文件
- h - 显示 less 的帮助文档
- &pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
- ma - 使用 a 标记文本的当前位置
- 'a - 导航到标记 a 处
linux 命令:head 详解
使用示例:
1. head: 打印前10行
2. head -c:
参数为正5,打印前5字节内容
参数为负300,打印后300字节之前的内容
head -n:
-
# 打印前5行内容
-
上边的简便写法
打印后13行前的内容
Linux tail 命令
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。默认配置下,日志文件通常都保存在“/var/log”目录
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
命令格式:
tail [参数] [文件]
参数:
- -f 循环读取
- -q 不显示处理信息
- -v 显示详细的处理信息
- -c<数目> 显示的字节数
- -n<行数> 显示文件的尾部 n 行内容
- --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
- -q, --quiet, --silent 从不输出给出文件名的首部
- -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
实例
要显示 notes.log 文件的最后 10 行,请输入以下命令:
tail notes.log # 默认显示最后 10 行
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:
tail -f notes.log
此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
显示文件 notes.log 的内容,从第 20 行至文件末尾:
tail -n +20 notes.log
显示文件 notes.log 的最后 10 个字符:
tail -c 10 notes.log
linux - echo
echo
打印到命令行
打印并输出到文件
打印
echo hello world
覆盖
echo 'helloworld' > aaa.txt
写入,不修改原文件内容。
打印变量
history 历史
1. history / history N:展示缓冲区中的历史命令 / 展示最后N个历史命令
history -d OFFSET / history -c:删除单条命令 / 清除缓冲区
时间日期类
date -d '1 days ago' 功能 显示前一天时间
date -d '-1 days ago' 功能 显示明天时间
cal 查看日历
cal [选项] 不加选项的话显示的是当月日历
选项 年份-- 显示指定年份的日历
用户管理命令
useradd 添加新用户
基本语法
useradd 用户名 -- 添加新用户
useradd -g 组名 用户名 -- 添加新用户到某个组
案例实操
添加一个用户
useradd laoyao
ll /home/
cat /etc/passwd 查看创建了哪些用户。
基本语法
[root@hadoop100 ~]# cat /etc/passwd
su 切换用户
su:Swith user(切换用户)
su 用户名 功能描述 切换用户,只能获得用户的执行权限,不能获得环境变量
su - 用户名 功能描述,切换用户并获得该用户的环境变量以及执行权限
从root -->到普通用户可以直接切换。
[root@hadoop100 ~]#
[root@hadoop100 ~]# ls /home/
itnihao laoyao
[root@hadoop100 ~]# su laoyao
[laoyao@hadoop100 root]PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[laoyao@hadoop100 root] echo
who 查看登录用户信息
基本语法
whoami 功能描述 显示自身用户名称
who am i 功能描述 显示登录用户的用户名
userdel 删除用户
基本语法
userdel 用户名 功能描述删除用户但保存用户主目录。
userdel -r 用户名 功能描述 用户名和户主目录,都删除。
sudo 设置普通用户具有root权限
1 添加lisi用户,并对其设置密码
[root@hadoop100 ~]# useradd itnihao
[root@hadoop100 ~]# passwd itnihao
2 修改配置文件 /etc/sudoers
修改/etc/sudoers文件,找到下面一行 99行,在root下面添加一行。如下所示
99 ## Allow root to run any commands anywhere
100 root ALL=(ALL) ALL
101 itnihao ALL=(ALL) ALL
[root@hadoop100 ~]# vi /etc/sudoers
或者配置成采用sudo命令时,不需要输入密码
修改完毕,现在可以用lisi账户登录,然后用命令sudo,即可获得root权限进行操作。
但是每次sudo的都要输入密码,也听麻烦的。再次修改刚才的文件
[root@hadoop100 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
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="e9215c80-9f55-413f-b748-8709c9f62a34"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.202.100
GATEWAY=192.168.202.2
DNS1=192.168.202.2
网络配置:
1. vmvare-->vnet8(NAT)解决方案: 1.1 关掉电脑的安全软什,关闭防火墙。在mvare中虚拟网络编器中 恢复默认设置1.2 卸找掉vware, 通过cclean I.其消埋注册信息,重新安装vware(试一下不同版本)
0明确vmnet8的网段(网关,子网)虚拟机网路配晋:
BOOTFROTO="static"
ONBOOT="yes"
IPADDR=192.168.202.100
GATEWAY=192.168.202.2
DNS1=192.168.202.2
DNS2=8.8.8.8
再欢明确虚拟机网络正常工作service networkrestart status
3
ping
虚拟机ping 物理机: 物理机的防火墙关掉
物理机ping 虚拟机: 保证虚拟机网络配置止确
虚拟机ping 外网:DNS设置有问题
4 查询windows服务十 vmware相关的服务是位止常工作
5.重装
用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
不同Linux 系统对用户组的规定有所不同,
如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。
组的增加、删除和修改实际上就是对/etc/group文件的更新
7.5.1 groupadd 新增组
1.基本语法
groupadd 组名
2.案例实操
(1)添加一个laoyao组
[root@hadoop100 ~]# groupadd laoyao
[root@hadoop100 ~]# cat /etc/group
7.5.3 groupmod 修改组
1.基本语法
groupmod -n 新组名 老组名
2.选项说明
(1)修改laoyao组名称为laoyao993.案例实操
[root@hadoop100 ~]# groupmod -n laoyao99 laoyao
7.5.4 cat /etc/group 查看创建了哪些组
1.基本操作
[root@hadoop100 ~]# cat /etc/group
7.5.2 groupdel 删除组
1.基本语法
groupdel 组名
2.案例实操
(1)删除laoyao99组
[root@hadoop100 ~]# groupdel laoyao99
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!