Linux与Shell1. Linux常用的命令
Posted lht3347
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux与Shell1. Linux常用的命令相关的知识,希望对你有一定的参考价值。
Linux与Shell
1. Linux常用的命令
学过Linux的人都知道,Linux有很多命令。这里我们讲下一些常用的命令,关于文件、进程、网络三个方面的 Linux 常用命令的相关知识。
-
文件:Everything is file;
-
进程:文件的运行形态;
-
网络:特殊的文件。
文件
文件可以理解为数据,在 Linux 环境下有一个很基本的设计原则,即 Everything is file
,所有的内容都是以文件形式来进行抽象的,比如:进程、网络、硬件等,都可以抽象成文件,可以对其进行打开、读取、写入等操作,所以文件便是我们入门的第一个知识点,文件又可以分为这样几类常见的命令。
查看目录下的内容
在查看目录的列表中,文件权限以 d
开头的表示是一个目录,没有 d
则表示它是一个文件。
简单查看目录下的内容
ls [查看的目录(默认当前目录)]
详细查看目录下的内容
ll [查看的目录(默认当前目录)]
或
ls -l [查看的目录(默认当前目录)]
以菜单(树)形式查看目录内容
tree 查看的目录(默认当前目录)
文件/目录的权限
通过上述的命令学习,我们可观察到文件打印显示出每个的文件的详细信息,我们看到对应打印的文件详情:
文件权限 drwxr-xr-x、文件归属、文件归属组、文件大小、何时创建、文件<目录>名称
文件权限中的 r
表示 read 可读权限(数字 4 表示);w
表示 write 可写权限(数字 2 表示);x
表示 execute 可执行权限(数字 1 表示);- 表示没有权限。
权限中有三段 rwx
分别表示:第一段为本身的权限(用 u
表示);第二段为本身组内的权限(用 g
表示);第三段为其它组的权限(用 o
表示)。
权限的更改
有些时候我们会遇到需要更改权限,Linux提供了 chmod 命令来进行更改对应文件<目录>的权限。
chmod 权限 文件<目录>名
通过 + 对文件<目录>进行添加权限,- 对文件<目录>进行减少权限。
下面对文件C.txt本身添加可执行权限,组内权限减少可读权限,如下所示:
权限的更改一般只能超级用户root进行操作的。关于 chmod 命令的更多用法,可通过Linux下的man 查看对应的帮助。
man 命令
路径方面的命令
切换路径
cd 切换的目录
备注:在Linux中根目录的用 / 表示。
查看当前所在的目录位置
pwd
目录(文件)的创建
(多)目录的创建
目录名称与目录名称用空格隔开。表示创建多个目录
mkdir 目录名称 目录名称
(多)层级目录的创建
mkdir -p 目录/目录 目录/目录
(多)文件的创建
touch 目录/文件名 目录/文件名
目录(文件)的删除
(多)空目录的删除
rmdir 空的目录 空的目录
(多)非空文件(目录)的删除
rm -r 路径/文件(目录)
该删除多文件(目录)时,每次删除或进入目录都会提示,故而每次都需要输入对应的答复。
-r :递归删除!最常用在目录的删除了!与下面的-f 结合是最危险的
删除文件
rm [-i] 路径/文件 路径/文件 -----> -i 可加可不加(建议加)
-i : 互动模式,每次删除前会询问是否操作
rm [-f] 路径/文件 路径/文件 -----> -i 可加可不加(建议加)
-f : 表示force(强迫)的意思,删除时不会有提示
递归强制删除(多)文件(目录)
rm -rf 路径/文件(目录)
复制与移动<剪切>
复制文件或目录
cp [options] 文件(目录)
options 不填写时,默认复制文件
-r : 表示持续复制目录
-i :表示目标文件已存在时,覆盖时会先提示。
-f : 表示force(强迫)的意思,覆盖时不会有提示
复制文件或目录,并重新更名
cp [options] 文件(目录) 改的名字
移动文件(目录) 或 重命名
mv [options] 目标文件(目录) 新的位置(新的名称)
options 可不填写
-f : 表示force(强迫)的意思,覆盖时不会有提示
-i :表示目标文件已存在时,覆盖时会先提示
查看文件的内容
通过上述的操作之后,我们有些时候会想看看文件里面到底写了什么?
我们可通过以下的方法进行阅读文件内容:
- cat : 该命令可以全文阅读文件内容(内容长时该页内容很长<甚至超出>)和查找文件内容;
- more:可实现翻页阅读<回车一行/空格一页>,但不够灵活,按q键退出阅读;
- less:可实现上下滑动及翻页阅读<回车一行/空格一页>,按q键退出阅读;
- head -n:可实现查看文件的前n行;
- tail -n:可实现查看文件的后n行;
- tail -f:实现动态查看文件内容。
有些时候,只有阅读文件内容往往不能满足我们的需求,现在需要想对文件进行有编辑的能力。可通过以下两种方式进行文件的编辑。
- vi:早期的编辑器;
- vim:后期的编辑器<可以说是vi的升级版>。
编辑器有三种模式:
- 命令模式:默认模式,编辑模式下按Esc键退到该模式;
- 末行模式:以冒号(:)开头;
- 编辑模式:输入i / a进入此模式。
这里就不再一一演示每个命令的操作,可参考以下内容自行练习操作。
# 末行模式的命令如下:
:w -----> 保存
:wq -----> 保存加退出
:q -----> 退出
:q! -----> 强制退出
:n -----> 跳转到第n行
:m,ns/查找的内容/替换的内容/g -----> 查找m行到n行<末行可用$表示>的内容进行替换。g表示强制替换
:w 文件名 ---> 另存为到···
:set nu -----> 文件内容显示对应的行号
# 命令模式的命令如下:
/查找的内容 -----> 查找文件的内容,按n:向下查找,按N:向上查找;
G -----> 跳转到最后一行
gg -----> 跳转到第一行
ngg -----> 跳转到第n行
yy -----> 复制
p -----> 粘贴
磁盘的查看
一般我们需要查看系统的磁盘空间用了多少?我们可通过df 或 df -h 命令来打印设备上挂载多少个磁盘设备,以及磁盘空间还剩多少可用空间。
以下是我的机器总容量18G,已用3.2G,使用率20%,可用14G。
查找文件
有些时候我们忘了文件存储在哪或者文件名称只记得关键字时,我们可通过find命令进行对当前目录或指定目录查找并列出所有匹配的文件。
查找当前目录下的文件<目录>名称(模糊查询用*表示)
find 名称
指定目录路径查找(模糊查询用*表示)
find 路径 -name '名称'
进程
下面来学习进程方面的,进程是Linux文件运行的状态。如果一个文件是可执行文件(拥有可执行权限x的文件),系统就需调用CPU去运行对应的操作。下面我们来看看如何查看Linux下当前有多少的进程在运行呢?
查看当前进程
我们可通过top
查看系统资源进行查看 或者 通过ps
命令进行查看当前进程。
# 列举出当前用户下的所执行的命令
ps
查看所有进程
通过ps -ef 命令列举当前所有进程的状态,可看到用户的 UID、进程的 PID、父进程的 PPID、以及进程开始的时间、运行参数等等信息。
ps -ef
查看指定进程
我们还可以通过Linux三剑客之一的grep查找指定的进程。|
表示管道的意思,后面学习的时候再来讲解。
ps -ef | grep 进程名称
查看系统资源
下面接着学习另一个命令top,该命令可查看到动态的系统交互的状态信息,其中包括了负载情况、当前用户、启动时间、相关任务树、内存、进程等一些数据,数据下也包含 PID、USER、内存、共享内存,CPU 占比等全部信息。
top
这两个命令很强大,关于这两个命令的详细用法,建议你可以看看命令的帮助文档。
网络
查看所有端口
下面我们再来学习下网络方面的命令。比如我们要查看当前系统的所有端口?
# 查看所有的端口
netstat -an
-a:表示监听和不监听的所有端口
-n:表示显示数字地址
查看TCP协议通信端口
我们还可指定查看TCP协议进程的端口。
netstat -tlnp
-t : 表示TCP协议
-l : listen表示开启了对外的链接,负责监听端口
-n :表示不需要远程服务器的名称
-p :表示打印进程
查看与外部连接的通信
查看本地机器上有多少个链接正在与外部进行通信,属于哪个进程也可以看到。
netstat -tnp
比如这条我的服务器上的SSH连接的一个服务,链接了某个远程的 IP。
结尾
如果你觉得文章对你有帮助,请动起你们的小手手点下赞(大拇指)哈(一键三连更好),Thanks♪(・ω・)ノ。
以上是关于Linux与Shell1. Linux常用的命令的主要内容,如果未能解决你的问题,请参考以下文章