Linux基本指令(1) 📅 发布时间:2026/9/14 16:48:02 👁 浏览次数: 目录1. ls 指令2. pwd 命令3.cd 指令4. touch 指令5. mkdir 指令6. rmdir 指令 rm 指令7. man 指令8. cp 指令9. mv 指令10. echo指令11. cat 指令11.1 cat 和 tac 命令的区别12. 知识重点提纲12.1 备忘录正文开始1. ls 指令语法ls [选项] [⽬录或⽂件]功能对于目录该命令列出该目录下的所有子目录与文件。对于文件将列出文件名以及其他信 息。常用选项-a 列出目录下的所有文件包括以 . 开头的隐含文件。-d 将目录像文件一样显示而不是显示其下的文件。 如ls ‒d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls ‒ai 指定文件-k 以 k 字节的形式表示文件的大小。ls ‒alk 指定文件-l 列出文件的详细信息-n 用数字的 UID,GID 代替名称。-F 在每个文件名后附上⼀个字符以说明该文件的类型“*”表示可执行的普通文件“/”表示目录“”表示符号链接“|”表示FIFOs“”表示套接字(sockets)。目录类型识别-r 对目录反向排序-t 以时间排序-s 在l文件名后输出该文件的大小。大小排序如何找到目录下最大的文件-R 列出所有子目录下的文件。(递归)-1 一行只输出⼀个文件。# 显示当前目录下的可见文件和目录 ls # 显示所有文件包括隐藏文件 ls -a # 长格式显示所有文件 ls -a -l 如 [whbbite-alicloud test]$ ls -a -l total 12 drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 . drwx------ 22 whb whb 4096 Jan 11 14:21 .. drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir -rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt # 长格式显示所有文件 # 选项组合-a -l -al ls -al ls -a -l # 显示指定目录 ls /root/path1/path2 -a -d权限解释以drwxrwxr-x为例d rwx rwx r-x ↑ ↑ ↑ ↑ │ │ │ └─ 其他用户权限读、执行 │ │ └─ 组权限读、写、执行 │ └─ 所有者权限读、写、执行 └─ 文件类型d目录文件类型-普通文件d目录l符号链接c字符设备文件b块设备文件s套接字文件p管道文件权限位r读权限4w写权限2x执行权限1-无对应权限2. pwd 命令语法:pwd功能显示用户当前所在的目录常用选项无3.cd 指令语法:cd目录名功能改变工作目录。将当前⼯作目录改变到指定的目录下Linux理论知识路径的认识Linux系统中磁盘上的文件和目录被组成⼀棵目录树每个节点都是目录或文件其中普通文件⼀定是目录树的叶子节点目录可能是叶子(空目录), 也可能是路上节点理解路径存在的意义: 树状组织方式都是为了保证快速定位查找到指定的文件而定位文件就需要具有唯一性的方案来进行定位文件。其中任何⼀个节点都只有⼀个父节点所以从根目录开始定位指定文件路径具有唯⼀性绝对路径⼀般从/开始不依赖其他目录的定位文件的方式相对路径相较于当前用户所处目录而定位文件的路径方式绝对路径⼀般不会随着用户的路径变化而丧失唯⼀性⼀般在特定服务的配置文件中经常被使用相对路径因为它的便捷性⼀般在命令行中使用较多Linux的文件结构是一颗从根目录 / 开始的一个多叉树如下图所示# 返回上级⽬录 cd .. # 绝对路径定位⽬录或者⽂件 cd /home/whb/test # 相对路径定位⽬录或者⽂件 cd ../temp/ # 每⼀次新建⼀个⽤⼾都会在/home⽬录下为新⽤⼾创建新的⼯作⽬录⽬录以新⽤⼾名称命名 # root⽤⼾在安装操作系统的时候就已经内置了⼯作⽬录: /root ls /home # 快速进⼊⾃⼰的家⽬录 cd ~ # 直接可以回退到最近⼀次所处的⽬录 cd -绝对路径示例/home/whb/Documents/report.pdf # 完整的路径 /usr/bin/ls # 系统命令的完整路径 /etc/passwd # 系统配置文件的完整路径相对路径示例# 假设当前在 /home/whb Documents/report.pdf # 相对于当前目录 ./test.txt # 当前目录下的文件 ../other_user/ # 上级目录中的其他用户目录 ../../var/log/ # 向上两级再进入var/log4. touch 指令语法:touch [选项]...文件...功能新建⼀个不存在的文件或者touch命令参数可更改文档或目录的日期时间包括存取时间和更改时间。常用选项-a : change only the access time-c : change only the modification time5. mkdir 指令语法mkdir [选项] dirname...功能在当前目录下创建⼀个名为 “dirname”的目录常用选项-p/--parents: 可以是⼀个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即⼀次可以建立多个目录# 创建普通空⽬录 mkdir mydir # 递归建⽴多个⽬录创建指定路径 mkdir -p path1/path2/path3/path4 # tree命令是⼀个递归以树状结构显⽰指定⽬录的命令如果没有安装 # 如果当前⽤⼾是root: yum install -y tree (因为现在开始⽤的都是root所以推荐这个⽤ 法) # 如果当前⽤⼾是普通⽤⼾: sudo yum install -y tree (后⾯讲讲完vim⼤家才能将⾃⼰添 加到系统信任列表中暂时普通⽤⼾⽆法使⽤sudo)6. rmdir 指令 rm 指令1. rmdir是⼀个与mkdir相对应的命令mkdir是建立目录而rmdir是删除命令语法rmdir [-p] [dirName]适用对象具有当前目录操作权限的所有使用者功能删除空目录常用选项-p 当子目录被删除后如果父目录也变成空目录的话就连带父目录⼀起删除。2. rm命令可以同时删除文件或目录语法rm [-f-i-r-v] [dirName/dir]适用对象所有使用者功能删除⽂件或⽬录常用选项-f 即使文件属性为只读(即写保护)亦直接删除-i 删除前逐⼀询问确认-r 删除目录及其下所有文件若目录结构为test/ ├── dir/ 目录 ├── file.txt 文件 ├── mydir/ 空目录 ├── newFile.txt 文件 └── path1/ 目录 └── path2/ └── path3/ └── path4/# 检查并删除空目录_注意rmdir只能删除空目录 rmdir mydir # 使用 -p 选项删除路径 rmdir -p path1/path2/path3/path4 说明删除顺序path4 → path3 → path2 → path1只要每个目录在删除后变为空就会继续向上删除 # 指定路径中有不为空的路径便⽆法删除 rmdir -p path1/path2/path3/path4 说明若现在 path1 和 path2 中都有文件则删除到path2会失败7. man 指令Linux的命令有很多参数我们不可能全记住可以通过查看联机⼿册获取帮助语法:man [选项]命令常用选项-k 根据关键字搜索联机帮助num 只在第num章节查找-a 将所有章节的都显示出来比如 man printf 它缺省从第⼀章开始搜索知道就停止⽤a选项当按下q退出他会继续往后面搜索直到所有章节都搜索完毕man手册分为9章(不同系统可能会有差别)1 是普通的命令2 是系统调⽤,如open,write之类的(通过这个至少可以很方便的查到调用这个函数需要加什么头文件)3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件4 略5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义6 是给游戏留的,由各个游戏自己定义7 是附件还有⼀些变量,比如像environ这种全局变量在这里就有说明8 是系统管理用的命令,这些命令只能由root使用,如ifconfig9 略# 查看printf指令(没错printf也是⼀个指令 man printf # 查看系统调⽤默认没有这个指令man就⾃动去2号⼿册查找 man fork # 查看系统调⽤ man 2 frok # 查看C库函数 man 3 printf # 查看man⼿册⾃⼰ man man8. cp 指令语法cp [选项]源文件或目录目标文件或目录功能:复制文件或目录说明:cp指令用于复制文件或目录如同时指定两个以上的文件或目录且最后的目的地是⼀个已经存在的目录则它会把前⾯指定的所有文件或目录复制到此目录中cp命令的作用是复制不是移动。它会把源文件的内容复制一份到目标位置源文件本身不受任何影响cp指令在复制到已存在的目标文件时会清空并覆盖目标文件的原始内容。常用选项-f 或 --force 强行复制文件或目录 不论目的文件或目录是否已经存在-i 或 --interactive 覆盖文件之前先询问用户-r 递归处理将指定目录下的文件与子目录⼀并处理。若源文件或目录的形态不属于目录或符号链接则⼀律视为普通文件处理# 复制单个文件 cp file1.txt file2.txt # 将file1复制为file2 cp file1.txt /home/user/ # 复制file1到指定目录 # 复制多个文件到目录 cp file1.txt file2.txt dir/ # 复制多个文件到dir目录 cp *.txt backup/ # 复制所有txt文件到backup目录 # 复制目录需要 -r 或 -a 选项 cp -r dir1 dir2 # 递归复制目录 cp -r /home/user/docs backup/ # 复制整个docs目录 # cp普通⽂件 cp myfile.txt myfile-backup.txt # 将多个⽂件拷⻉到指定路径下 # 将匹配的所有文件复制到 dir 目录 cp *.txt dir # *表⽰通配符匹配所有.txt结尾的⽂件名 # cp如果⽬标⽂件存在就覆盖 # 默认情况下cp直接覆盖无提示 cp myfile.txt myfile-backup.txt # 拷⻉前询问 cp -i myfile.txt myfile-backup.txt # 递归强制拷⻉整个⽬录 cp -rf test test-backup注意cp指令在复制到已存在的目标文件时会清空并覆盖目标文件的原始内容。# 默认行为 # 假设 target.txt 已有内容 旧内容 echo 旧内容 target.txt # source.txt 有内容 新内容 echo 新内容 source.txt # 执行 cp 后 cp source.txt target.txt # 现在 target.txt 的内容变成 新内容 # 原始内容 旧内容 被完全清空替换当目标文件已存在时cp的执行流程打开目标文件如果存在直接打开不删除清空目标文件内容将文件截断为0字节将源文件内容写入目标文件设置相应的文件属性9. mv 指令mv命令是move的缩写是用于移动或重命名文件和目录的命令,经常用来备份文件或者目录语法:mv [选项]源文件或目录 目标文件或目录功能:视mv命令中第⼆个参数类型的不同是目标文件还是目标目录mv命令将文件重命名或将其移至⼀个新的目录中。当第⼆个参数类型是文件时mv命令完成文件重命名此时源文件只能有⼀个也可以是源目录名它将所给的源文件或目录重命名为给定的目标文件名。当第⼆个参数是已存在的目录名称时源文件或目录参数可以有多个mv命令将各参数指定的源文件均移至目标目录中。常用选项-f force 强制的意思如果目标文件已经存在不会询问而直接覆盖-i 若目标文件 (destination) 已经存在时就会询问是否覆盖# 更改名称 # yourfile.txt为不存在的文件 mv myfile.txt yourfile.txt # 重命名文件myfile.txt - yourfile.txt # 如果当前路径存在同名⽂件改名即覆盖 # 移动并覆盖yourfile.txt - myfile.txt覆盖已有的myfile.txt # 结果yourfile.txt消失myfile.txt保留被覆盖 mv yourfile.txt myfile.txt # 如果当前路径存在同名⽂件改名前可以添加i选项让系统提出警告供⽤⼾做选择 mv -i yourfile.txt myfile.txt # 将 myfile.txt 移动到 temp 目录内 mv myfile.txt temp # 将 temp 目录 移动到父目录上级目录 mv temp ../对目录进行mv指令时带/和不带/的区别 # 情况1目录名不带斜杠 mv dir1 dir2 # 含义 # - 如果 dir2 不存在重命名 dir1 为 dir2 # - 如果 dir2 存在且是目录将 dir1 移动到 dir2 目录内 # - 如果 dir2 存在且是文件报错 # 情况2目录名带斜杠 mv dir1/ dir2 # 含义同上dir1/ 明确表示这是一个目录 注意mv 命令移动目录时可以直接输入目录名称而不加 /而且这是一个很好的习惯注意事项覆盖不可逆被覆盖的文件无法恢复跨文件系统移动目录时需要目标位置有足够权限通配符使用小心使用mv *可能移动隐藏文件与cp的关键区别10. echo指令# 将双引号中的内容看成字符串直接打印出来类似与 printf。 # echo 显示输出时会默认加上换行符即默认输出后会换行 echo hello world # 将双引号中的内容写入一个普通文件 (重定向操作输出重定向) # 若后续文件不存在新建之若存在则清空再写入 echo hello world hello.txt # 追加重定向操作, 向普通文件中继续写入hello world而不会事先清空文件 echo hello world hello.txt将双引号中的内容看成字符串直接打印出来类似与 printf。11. cat 指令语法cat [选项] [文件]功能显示目标文件里面的内容常用选项-b 对非空输出行编号空行不做编号-n 对输出的所有行编号-s 不输出多行空行# 先使用 while 循环生成文件 cnt0; while [ $cnt -le 20 ]; do echo hello bite; let cnt; done temp.txt # 基本查看文件内容 cat temp.txt # 使用 -b 选项对非空行编号只对非空行进行编号空行不会被编号 cat -b temp.txt 示例 # 给非空行编号 # 1 Line1 # # 2 Line2 # # # 3 Line3 # 使用-n 选项对所有行编号 cat -n temp.txt 假设文件中存在空行则示例输出为 1 hello bite 2 hello bite 3 hello bite 4 (空行但有编号4) 5 (空行但有编号5) 6 (空行但有编号6) 7 hello bite 8 hello bite 9 (空行但有编号9) ... # 将多个连续空行压缩为单个空行 cat -s temp.txt 示例 hello bite hello bite hello bite (这里原本多个空行被压缩为一行) hello bite hello bite (这里原本多个空行被压缩为一行) hello bite ...其他使用技巧# 查看多个文件 cat file1.txt file2.txt # 创建新文件 cat newfile.txt # 输入内容... # 按 CtrlD 结束 # 追加内容到文件 cat existing.txt # 输入追加内容... # 按 CtrlD 结束 # 组合文件 cat file1.txt file2.txt combined.txt # 组合使用选项 cat -ns temp.txt # 压缩空行并给所有行编号11.1 cat 和 tac 命令的区别cat将目标文件里的内容从头到尾顺着显示。tac:将目标文件里的内容从尾到头逆着显示。12. 知识重点提纲目录文件夹如果建立一个空文件改文件也要占用磁盘空间文件内容属性linux的文件结构是一棵从根目录/ 开始的一棵多叉树。a.叶子节点一定是普通文件或者空目录 b. 非叶子节点一定是一个非空目录绝对路径相对路径命令其实就是文件。命令的本质可 执行的文件我们写的C/C程序上下键可以寻找历史命令在 linux 系统中一切皆文件如我们自己新建文件操作、键盘操作、显示器操作本质都是文件操作。注意文件必须先被打开才能进行操作12.1 备忘录1. 一台linux机器可以被多个用户使用添加使用用户 adduser user1 password 注意输密码时密码不回显 重置目标用户密码,假设用户名为user1 1.先切换到root用户 2. passwd user1 按提示输入两次新密码 用户删除 userdel -r user12. xshell界面全屏、退出全屏Alt Enter3.若出现以下情况可输入 yum install -y tree centos版本安装tree命令。apt install -y tree (Ubuntu版本)4. 如果在命令行中出现了异常情况统一尝试 ctrl c 来终止异常5. 若卡在nano 指令里了 直接ctrl x之后回车就可解决6. 进入vim 后如何退出输入方式改成大写模式 zz; shift zz7. 几个热键ctrl c :终止异常任务键盘上下键 查看历史命令ctrl r : 搜索历史命令ctrl d :退出当前用户Tab键 若某个命令文件拼写时拼出一半按Tab键会给出提示8. 云服务器永不关机除非维护或者不用了。