linux命令的格式
命令字符 【选项】 【参数】
字符(character):一个字母、数字、特殊符号 文字和符号
字符串:字符数组 很多字符在一起
string 字符串
命令和参数之间必须要空格
mkdir .feiruixi 该命令创建的文件夹是隐藏的文件夹
想要找到该文件夹 需要使用 ls -a 才能看到(all)
man ls 打开ls的操作指南
当前文件夹:current directory / workong directory /
linux常用命令
ls
ls
命令是Linux系统中常用的一个命令,用于列出指定目录下的文件和子目录。下面是ls
命令的常见选项及其解释:
-l
:以长格式显示列表,包括文件类型、权限、所有者、文件大小等详细信息。-a
:显示所有文件,包括隐藏文件(以"."开头的文件)。-h
:以人类可读的格式显示文件大小,如使用KB、MB等单位。-r
:以相反的顺序显示文件列表。-t
:按照修改时间从新到旧的顺序进行排序。-S
:按文件大小从大到小进行排序。-i
:在输出中显示每个文件的i节点(唯一标识符)号。
此外,还可以结合不同的选项来使用,例如ls -lh
会以长格式显示文件列表,并以人类可读的方式显示文件大小。
除了以上选项,ls
命令还支持其他一些选项,如--color
用于给不同类型的文件着色显示,--group-directories-first
用于将目录显示在前面等。可以通过man ls
命令查看完整的ls
命令帮助文档来获取更多信息。
touch
新建空文件
file
查看文件的类型
drwxr-xr-x. 4 root root 37 10月 21 10:31 .
d代表文件的类型是目录
-代表是普通的文件
r代表读取权限、w表示写入权限、x表示执行权限
一共有三组第一组表示root对该文件的权限,第二组表示与拥有者属于同一组的对其权限,第三组表示其他用户对其权限
第一个root表示该文件是root拥有,第二个root代表文件归root组拥有 37代表文件的大小 时间是文件的创建时间
user 用户 group 组
选项在一般情况下可以组合,不用区分先后顺序,还可以简写,效果都是一样的
ls -A 不显示 . 和 .. 文件
.代表当前文件夹
..代表上一级文件夹
提示符
登录用户、主机名、当前目录
#代表root用户权限
&代表普通用户
useradd liuzizheng 新建用户liuzizheng
id liuzizheng 来判断用户是否存在
uid=1000(liuzizheng) gid=1000(liuzizheng) 组=1000(liuzizheng)
root@localhost /]# su - liuzizheng
[liuzizheng@localhost ~]$ 切换用户到liuzizheng
用户登录linux系统,会进入一个文件夹,这个文件夹就是用户的家目录
不同用户的家目录不一样
root的家目录是 根目录下的root
liuzizheng的家目录是 /home/liuzizheng
家目录的根目录的区别和联系:
根目录下面有用户的家目录,是包含关系
cd ~liuzizheng 进入到liuzizheng的家目录
截长图: crtl+a+ALT 选择截长图
shell函数
Shell函数是一种在Shell脚本中定义的可重复使用的代码块。它可以接受参数并执行一系列命令或操作,并返回一个值。
Shell函数通常用于将一段特定的功能封装起来,以便在脚本中反复调用。通过将代码块封装为函数,可以提高代码的可读性和重用性,减少代码冗余。
函数的定义格式通常如下:
function_name() {
# 函数体(一系列命令或操作)
# 可以使用传入的参数
# 可以使用return语句返回值
}
函数可以通过函数名直接调用,并传递参数。例如:
function_name arg1 arg2
函数内部可以使用$1
、$2
等变量来获取传入的参数。在函数内部使用return
语句可以返回一个值。
请注意,Shell函数的作用范围仅限于所在的Shell进程或脚本文件。
[root@localhost /]# echo $PS1
echo是输出字符串或者变量值的命令
[root@localhost /]# echo "hello,world"
hello,world
[root@localhost /]#
linux shell编程定义变量
(等号左右不能空格)
[root@localhost /]# x=1
[root@localhost /]# y=2
[root@localhost /]# name = liuzizheng
-bash: name: 未找到命令
[root@localhost /]# name=liuzizheng
[root@localhost /]# echo $name
liuzizheng
[root@localhost /]# echo $x $y
1 2
变量的类型
1.自定义变量
2.预定义变量:是操作系统预先定义好的变量,不需要我们去定义,安装好操作系统就已经存在了变量的命名和规范:
1.不能使用特殊符号,下划线符号可以使用
2.变量的命名不能以数字开头
set 查看当前终端里的定义的变量
varname=‘字符串’ variable neme 变量名
PS1是linux系统里的第一提示符 主提示符
绝对路径和相对路径
绝对路径:不考虑你的当前位置,从根目录开始走到你的位置
相对路径:参照你当前的位置,到达目标文件需要经过的文件系统目录树所有的分支
cp命令 copy
复制文件夹和文件
cp hunan hubei -r
将文件夹hunan复制到文件夹hubei中,注意复制文件夹需要加选项 -r recursively 递归
rm remove files or directories
-r :递归删除,用于删除目录以及内部内容
-f:强制删除,不进行任何确认提示
rm
命令是用于在Linux和Unix操作系统中删除文件或目录的命令。它的语法是:
shell
rm [选项] 文件名/目录名
一些常用的选项包括:
-r
:递归删除,用于删除目录及其内部内容。-f
:强制删除,不进行任何确认提示。-i
:交互模式,在删除前进行确认提示。
请注意,rm
命令非常强大而且没有回收站功能,因此请谨慎使用。一旦文件或目录被删除,将无法恢复。
vim - Vi IMproved, a programmers text editor(程序员文本编辑工具)
是linux里的编写程序或者文本文件的工具,类似于windows里的记事本、sublime
vim sc.txt
i 进入插入模式
进行编辑
esc进入命令模式
yy复制当前行
6yy复制6行
p 粘贴
dd删除当前行
u撤销
输入“:”进入末行模式 wq 退出并保存written quit
练习2:
1.查看PS1变量的值
[root@liu lianxi]# echo $PS1
2.定义一个变量名cityname 赋值 changsha,然后输出cityname变量的值
[root@liu lianxi]# varname=cityname
[root@liu lianxi]# cityname=changsha
[root@liu lianxi]# echo $changsha
[root@liu lianxi]# echo $cityname
changsha
3.查看当前终端里的所有定义的变量
[root@liu wang]# set
4.在根目录下新建文件夹wang
[root@liu lianxi]# mkdir wang
5.进入wang文件夹,新建3个文件夹 beijing shanghai shenzhen
[root@liu wang]# mkdir beijing shanghai shenzhen
6.在wang文件夹里新建2个空文件 cs.txt hn.txt
[root@liu wang]# touch cs.txt hn.txt
7.复制cs.txt到beijing文件夹里
[root@liu wang]# cp cs.txt beijing
8.复制hn.txt到shanghai文件夹
[root@liu wang]# cp hn.txt shanghai
9.复制beijing到shenzhen文件夹里
[root@liu wang]# cp -r beijing shenzhen
10.删除shanghai文件夹
[root@liu wang]# rm -f shanghai
11.使用绝对路径在/wang/beijing文件夹里新建tiananmen的文件夹
[root@liu /]# mkdir /lianxi/wang/beijing/tiananmen
12.使用vim编辑器创建一个文件 sanchuang.txt 需要写入的内容如下:
sanchuang changsha
linux vim
teacher feng
[root@liu /]# vim sanchuang.txt
i
sanchuang changsha
linux vim
teacher feng
光标移到第三行开始 yy 光标移动第三行末尾 p
光标移到第二行开始 dd
u进行撤销
ESC
:wq
要求操作:
1. 复制前面3行的内容,粘贴到末尾
2.复制第3行的tearcher feng ,然后粘贴到末尾
3.删除第2行的内容
4.撤销删除操作
5.退出并且保存
13.查看sanchuang.txt文件的内容
cat sanchuang.txt