✅博客主页:爆打维c-CSDN博客 🐾
🔹分享c、c++知识及代码 🐾
🔹Gitee代码仓库 五彩斑斓黑1 (colorful-black-1) - Gitee.com
一、操作系统简介
Linux其实跟我们熟知的Window一样,它们都是操作系统。
🔹操作系统(英语:Operating System,缩写:OS)是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。常见有Windows,macOS 和开源的 Linux、华为鸿蒙系统
🔹根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。 操作系统是人与计算机之间的接口,也是计算机的灵魂。
随着开源软件在世界范围内影响力日益增强,Linux服务器领域、桌面领域、移动嵌入式领域、云计算/大数据领域等市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。今天我们将详细讲解一下Linux的基本指令,也就是如何使用这个操作系统。那么废话不多说,我们开始吧!
二、如何使用Xshell登录Linux主机
我们可以安装Xshell,连接云服务器来登录一个Linux操作系统的主机,当然你也可以用虚拟机,不过我更推荐你使用云服务器,因为简单且方便,下面我讲手把手教你怎么在Xshell登录Linux主机。
- 打开Xshell
- 到云服务器上复制你的公网ip
- 输入指令 ssh 用户名@公网ip
输入指令 ssh ,这里我用的超级用户root登录
如果网络畅通, 将会提示输入用户名密码 输入即可正确登陆
登陆成功后如下:
三、Linux的基本指令
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 -l 展示该目录下的所有子目录与文件
2. pwd命令
🔹语法: pwd
🔹功能:显示用户当前所在的目录
示例:显示当前处于根目录下
3. cd 指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
🔹语法: cd 目录名
🔹功能:改变工作目录。将当前工作目录改变到指定的目录下。
示例:
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
这里我使用cd指令跳转到a目录
4.man指令
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man
🔹语法: man [选项] 命令
🔹常用选项
- -k 根据关键字搜索联机帮助
- num 只在第num章节找
- -a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。
🔹手册分为8章
1 是普通的命令
2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文
件)
3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件
5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的,由各个游戏自己定义
7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8 是系统管理用的命令,这些命令只能由root使用,如ifconfig
示例:比如我们输入 man printf ,回车
界面如下,它就会向我们展示printf普通的命令,输入 q 停止
5.touch指令
🔹语法:touch [选项]... 文件...
🔹功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
🔹常用选项:
- -a 或--time=atime或--time=access或--time=use只更改存取时间。
- -c 或--no-create 不建立任何文档。
- -d 使用指定的日期时间,而非现在的时间。
- -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
- -m 或--time=mtime或--time=modify 只更改变动时间。
- -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
- -t 使用指定的日期时间,而非现在的时间。
示例: 这里我们用touch指令新建一个普通文件 b.txt
6.mkdir指令
🔹语法:mkdir [选项] dirname...
🔹功能:在当前目录下创建一个名为 “dirname”的目录
🔹常用选项:
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
示例: 这里我们用mkdir指令新建多个递归目录 最后创建结果如下
7.rm&rmdir指令
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
🔹语法:rmdir [-p][dirName]
🔹适用对象:具有当前目录操作权限的所有使用者
🔹功能:删除空目录
🔹常用选项:
- -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm命令可以同时删除文件或目录
🔹语法:rm [-f-i-r-v][dirName/dir]
🔹适用对象:所有使用者
🔹功能:删除文件或目录🔹常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
示例: 这里我们用rm -fr指令删除刚刚创建的a递归目录 结果如下
8.cat指令
🔹语法:cat [选项][文件]
🔹功能: 查看目标文件的内容
🔹常用选项:
- -b 对非空输出行编号
- -n 对输出的所有行编号
- -s 不输出多行空行
9.more指令
🔹语法:more [选项][文件]
🔹功能:more命令,功能类似 cat
🔹常用选项:
- -n 对输出的所有行编号
- q 退出more
10.less指令
• less ⼯具也是对⽂件或其它输出进⾏分⻚显⽰的⼯具,应该说是linux正统查看⽂件内容的 ⼯具, 功能极其强⼤。• less 的⽤法⽐起 more 更加的 有弹性 , 在 more 的时候,我们并没有办法向前⾯翻, 只能 往后⾯看。• 但若使⽤了 less 时,就可以使⽤ [pageup] [pagedown] 等按键的功能来往前往后翻看⽂ 件,更容易⽤来查看⼀个⽂件的内容。• 除此之外,在 less ⾥头可以拥有更多的搜索功能,不⽌可以向下搜,也可以向上搜。
🔹语法: less [参数] ⽂件🔹功能:less与more类似,但使⽤less可以随意浏览文件,而more仅能向前移动,却不能 向后移动,且less在查看之前不会加载整个文件。🔹选项:
- -i 忽略搜索时的⼤⼩写
- -N 显⽰每⾏的⾏号
- /字符串:向下搜索“字符串”的功能
- ?字符串:向上搜索“字符串”的功能
- n:重复前⼀个搜索(与 / 或 ? 有关)
- N:反向重复前⼀个搜索(与 / 或 ? 有关)
- q:quit
上述讲解了一些常用指令,下面给出更详细的指令用法总结
四、基本指令的总结
🔹文件与目录操作
-
ls
列出目录内容。
示例:ls -l
(详细列表) -
cd
切换目录。
示例:cd /home/user
-
pwd
显示当前目录路径。 -
mkdir
创建目录。
示例:mkdir newdir
-
rmdir
删除空目录。
示例:rmdir emptydir
-
rm
删除文件或目录。
示例:rm file.txt
,rm -r dir
(递归删除) -
cp
复制文件或目录。
示例:cp file1.txt file2.txt
-
mv
移动或重命名文件或目录。
示例:mv oldname.txt newname.txt
-
touch
创建空文件或更新文件时间戳。
示例:touch newfile.txt
-
cat
查看文件内容。
示例:cat file.txt
-
more / less
分页查看文件内容。
示例:more file.txt
,less file.txt
-
head / tail
查看文件开头或结尾部分。
示例:head -n 10 file.txt
,tail -f logfile.log
(实时查看日志)
🔹文件权限与所有权
-
chmod
修改文件权限。
示例:chmod 755 script.sh
-
chown
修改文件所有者。
示例:chown user:group file.txt
🔹系统信息与管理
-
ps
显示当前进程。
示例:ps aux
-
top
实时显示系统进程和资源使用情况。 -
kill
终止进程。
示例:kill -9 PID
-
df
显示磁盘使用情况。
示例:df -h
-
du
显示目录或文件的磁盘使用情况。
示例:du -sh /home/user
-
uname
显示系统信息。
示例:uname -a
-
uptime
显示系统运行时间。
🔹网络相关
-
ping
测试网络连接。
示例:ping google.com
-
ifconfig / ip
显示或配置网络接口。
示例:ifconfig
,ip addr
-
netstat
显示网络连接、路由表等信息。
示例:netstat -tuln
-
ssh
远程登录。
示例:ssh user@host
-
scp
安全复制文件。
示例:scp file.txt user@host:/path
🔹压缩与解压
-
tar
打包或解包文件。
示例:tar -cvf archive.tar dir/
,tar -xvf archive.tar
-
gzip / gunzip
压缩或解压文件。
示例:gzip file.txt
,gunzip file.txt.gz
-
zip / unzip
压缩或解压 ZIP 文件。
示例:zip archive.zip file.txt
,unzip archive.zip
🔹文本处理
-
grep
搜索文本。
示例:grep "pattern" file.txt
-
sed
流编辑器,用于文本处理。
示例:sed 's/old/new/g' file.txt
-
awk
文本分析工具。
示例:awk '{print $1}' file.txt
🔹其他常用指令
-
man
查看命令手册。
示例:man ls
-
echo
输出文本。
示例:echo "Hello, World!"
-
date
显示或设置系统日期和时间。
示例:date
-
history
显示命令历史记录。 -
alias
创建命令别名。
示例:alias ll='ls -la'
如果这篇文章对你有帮助的话,请给博主一个免费的赞鼓励一下吧~ 💓
本文仅简单介绍了一些常用的Linux指令,以上个人拙见,若有错误之处,希望各位能提出宝贵的建议和更正,感谢您的观看