Linux基本指令(1)

一、对Linux的一些认识

其实Linux的学习跟我们日常使用window系统下的操作是很相近的,我们输入的一些指令的操作其实也是window系统下的电脑鼠标对文件的操作,只是我们电脑上都是图形化后的操作,接下来的一些操作我也会结合大家熟悉的window系统也就是你常规电脑的一些操作类比,当然在学习Linux的前提还是要先去买云服务器,网上有很多教程的可以自己去搜搜,弄完要用Xshell这个软件登入云服务器,然后就可以开始学习,Xshell如何连接云服务器也可以上网搜

二、Linux的目录结构和基本认识

首先这里讲的目录==window电脑的文件夹,它的结构是树形结构多叉树,并且Linux上的操作全是在文件上的操作,比如: 普通文件(.txt等)、可执行程序、源代码文件,那我们要对某个目录下的文件进行操作是如何精确的找到它的呢?也就是我们这里说的多叉树结构,

如上图可看到这就是Linux上的目录和文件储存的方式,/是根目录类比到window的此电脑是c盘和D盘的根目录,下面就是它的结点,正因为你往树上的任意一条路径都是目录或者普通文件,目录都有它的子目录直到到叶子结点后这一条路径就走完了,也可以说每一个部分都是目录树.

2.1分隔符------/

就如同我们window下的分隔符是\ ,处在两个\之间的就是文件夹,类比到这里Linux下的是两个/之间的是目录唯一特殊的就是第一个/指的是根目录,不同就是我们在Linux上要通过输入指令进入想进入的目录或文件中

2.2绝对路径和相对路径

绝对路径:在window中我们如上图C:\Users\Administrator这个路径就是绝对路径,到这里的Linux上,因为是多叉树,根目录/到叶子结点也是一条绝对路径,这也是能精确找到自己想要的文件的原因,根本原因从树的结构来说每个结点都只有一个父结点,父结点的祖先也是唯一的,所以才能保证查找到的信息是唯一的
相对路径:也就是从某个目录开始定位所查找的文件的方式,比如下面简化版的目录树,画红线的路径就是一条相对路径.
绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,⼀般在特定服务的配置⽂件中经常被使⽤
• 相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多

当然实现这种跳跃式的定位文件需要用到指令来完成下面学了就能更好地理解了

2.3指令的基本格式

命令名 选项... 参数...

命令名:就是下面要讲的 pwd、ls、mkdir等命令
选项就是调整命令的默认行为去做一些其他行为,一般和-在后面加一个或多个字母来构成的
参数是表示文件名、目录名、可执行程序等
\[\]表示可以省略这部分

2.4默认目录

我这里展示的都是root用户,所以你也可以通过whoami这条指令看你的当前用户是谁,我们Linux下的默认是root,也就是下面我每次展示信息的开头都是/root这也叫做家目录,普通用户就是/home的下面如下面图就是/根目录下的子目录

注意我下面的演示都是root用户的展示,等接下来的几篇文章再讲与普通用户的区别

三、基本命令

3.1pwd命令

当你对某目录一顿操作时,你忘记了自己在哪个目录下就可以使用这个命令直接显示你处在的位置

语法: 就是输入pwd ,后面没有选项和参数

如下图根据前面的知识可知/root/dirc表示处在根目录的root目录的dirc目录下

3.2ls命令

通过这条命令能查看当前目录下的子目录和文件信息,也就类比于window下的鼠标双击文件夹打开的操作

语法: ls +(你要打开的目录名)

如下图是我root目录下的文件,可能你的并没有这么多,因为你没创建新目录,但没关系这里你可以跳着看先看如何创建再来看这里也行ls是贯穿下面的命令的


ls-的操作:ls -l就是查看当前目录的详细信息,这里的目录和文件后面的就是一些详细信息,就如同window创建文件会有的创建时间和文件类型和大小等
但可以注意的是最前面的一串字母的第一个是:d,代表是目录(文件夹),第一个是一个杠的-是普通文件(文本等)

ls -l -a这个指令是展示隐藏文件Linux下的隐藏文件是带点的前面

3.3mkdir命令

它的作用是在当前目录下创建新的子目录

语法: mkdir + (新的目录名)注意它是创建新的目录名,也就是相当于window的新的文件夹,等下要和接下来的touch创建新的文件区分开来

如上图:我想在root的目录下创建dirb这个子目录,然后ls命令可以查看是否成功创建在root目录下

mkdir -p (/.../.../...) 这样的格式就是在当前目录创建子目录,又在子目录下创建子目录...
mkdir -p a/b/c

3.4touch命令

可以通过它在当前目录下创建普通文件,一定要与mkdir区分开来

语法: touch +(文件名)

比如下面我i想在root下创建test.c文件

如果文件存在的话在写的话就会更新文件的时间
可以通过stat +文件名来查看,如下图

3.5通过tree命令查看结构

先我们需要在Linux下安装个软件才能用tree命令,不同的服务器系统所写的指令不同
CentOS系统: yum install -y tree
ubuntu系统: apt install -y tree
搞好之后就可以查询当前目录下的连接子目录和文件的结构,就拿上面mkdir -p a/b/c创建的来看
可以看到是树的结构也能正是最开始说Linux下的结构就是目录树

3.6 cd命令

能跳到你的指定目录下面

语法: cd + (目录名)
比如下面. 我想跳到root下面的dira中

也可以通过绝对路径到指定的目录,比如还是到dira可以这样写cd /root/dira

为什么第一种写法能省略/root呢?因为dira在root的路径下,也就是root是dira的父结点,也就是说指定目录与当前目录是父子关系时就可以省略绝对路径的写法,如果不是的话就要写绝对路径查找

cd ~返回到家目录,我们是root用户也就是跳到/root这里,如果是普通用户那就会返回到/home/(用户名)这里

cd -返回到上一目录,如果多次使用也就会实现在两个目录之间的来回跳转

3.7 ... 的运用

一个点.代表是当前目录
两个点..代表是上一目录
比如我这里root有这些目录,并且我在dira

我如果想去dirb目录就可以这样写,因为有共同的父结点所以..到上一目录就是root,dirb是root的子目录.

cd ..也能返回上一目录也可以这样写cd ../并且多次使用时最多到根目录再用还是在根目录

cd ./ (目录名)也可以这样写在当前目录去子目录

ls 也可以和.和..使用他就可以查看目录或文件的详细信息,这样就是随意跳跃查看很方便的

3.8rmdir和rm命令

删除目录或普通文件
rmdir是删除空的目录
rm+选项是删除不是空的目录或普通文件的

rmdir语法: rmdir (目录名)

比如下面的 a不是空目录它的下面还有子目录就删不了
但如果这样写rmdir -p a/b/c就可以因为这是递归删除它会先去c里面c里面没有文件和目录就删除c然后递归回到b,b是空目录就删除 ,再到a,a是空目录最后删除a,显然这样写太逊了,我们还是用下面的rm的更方便

rm语法1: rm+ (普通文件名)或者(空目录)
rm语法2:rm +选项 +(目录名)
常⽤选项:
•-f即使⽂件属性为只读(即写保护),亦直接删除
•-i删除前逐⼀询问确认
•-r删除⽬录及其下所有⽂件,是递归删除

最危险组合 rm -rf / 和 rm -rf * 前者会直接把根目录的一切删掉,后者是把当前目录清空 如果用 rf 没有重要文件还好因为我们是云服务器,重装系统就行,那如果是在公司里的话就是很严重的事了,所以使用rm -rf 要小心使用

相关推荐
万事可爱^4 小时前
Claude 新发布的 Opus 5,系统提示语删了 80%,半价还能逼近 Fable 5
android·服务器·数据库·人工智能·claude
Jerry小杰5 小时前
运维神器|单端口搞定多台内网SSH!frp端口复用终极教程
运维·ssh
无小道5 小时前
深入解析操作系统文件缓冲区:页缓存、基数树与f_pos的协同设计
linux·缓存·文件缓冲区
Python私教5 小时前
Blender模型导入Godot完整教程:GLB、BLEND与继承场景怎么选
运维·godot·blender
其实防守也摸鱼5 小时前
GitHub开源项目破圈方法论:从技术自嗨到生态共赢
服务器·数据库·学习·开源·github·命令行·linux系统
爱写代码的森6 小时前
鸿蒙三方库 | harmony-utils之PasteboardUtil剪贴板数据读写详解
服务器·华为·harmonyos·鸿蒙·huawei
寒水馨6 小时前
Linux下载、安装godot-4.7.1-stable(附安装包Godot_v4.7.1-stable_linux.x86_64.zip)
linux·游戏引擎·godot·游戏开发·2d游戏·3d游戏·godot engine
念恒123066 小时前
Socket编程UDP(中)
linux·网络协议·udp
深耕运维十八载云架构实务6 小时前
系统故障玄学之内存明明显示空闲,服务器却频繁卡顿卡死?拆解被忽略的 Linux 隐性内存陷阱
linux
qetfw7 小时前
CentOS 7 搭建 Sendmail + Dovecot 邮件服务器:SMTP、POP3、IMAP 与 TLS
linux·centos