<a class="follow-nickName" href="https://me.csdn.net/xulong_08" target="_blank">longctw</a>
</div>
<div class="operating">
</div>
</div>
</div>
</div>
<article class="baidu_pl">
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
<div class="article-copyright">
<svg class="icon" title="CSDN认证原创" aria-hidden="true" style="width:53px; height: 18px; vertical-align: -4px;">
<use xlink:href="#CSDN_Cert"></use>
</svg>
版权声明:只为分享、欢迎转载^V^ https://blog.csdn.net/xulong_08/article/details/81463054 </div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f57960eb32.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f57960eb32.css">
<div class="htmledit_views" id="content_views">
<p style="text-indent:50px;">Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的。</p>
一、linux的目录结构
- bin (binaries)存放二进制可执行文件
- sbin (super user binaries)存放二进制可执行文件,只有root才能访问
- etc (etcetera)存放系统配置文件
- usr (unix shared resources)用于存放共享的系统资源
- home 存放用户文件的根目录
- root 超级用户目录
- dev (devices)用于存放设备文件
- lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt (mount)系统管理员安装临时文件系统的安装点
- boot 存放用于系统引导时使用的各种文件
- tmp (temporary)用于存放各种临时文件
- var (variable)用于存放运行时需要改变数据的文件
二、linux常用命令
- 命令格式:命令 -选项 参数 (选项和参数可以为空)
- 如:ls -la /usr
2.1 操作文件及目录
命令 |
参数 |
示例 |
说明 |
cd |
|
cd /home |
切换目录 |
pwd |
|
pwd |
显示当前工作目录目录 |
touch |
|
touch 1.txt |
创建空文件 |
mkdir |
|
mkdir testdir |
创建一个新目录 |
|
-p |
mkidr -p dir1/dir2/dir3/ |
创建多级目录,父目录不存在情况下先生成父目录 |
cp |
|
cp 1.txt |
复制文件或目录 |
|
-r |
cp -r dir1/ |
递归处理,将指定目录下的文件与子目录一并拷贝 |
mv |
|
mv dir1 dir2 |
移动文件或目录、文件或目录改名 |
rm |
|
rm 1.txt |
删除文件 |
|
-r
<p>-f</p>
</td>
<td>rm -rf dir1</td>
<td style="width:567px;">
<p>r<span style="color:#000000;">同时删除该目录下的所有文件,</span></p>
<p>f<span style="color:#000000;">强制删除文件或目录</span></p>
</td>
</tr><tr><td><span style="color:#000000;">rmdir</span></td>
<td> </td>
<td>rmdir dir1</td>
<td style="width:567px;"><span style="color:#000000;">删除空目录</span></td>
</tr><tr><td><span style="color:#000000;">cat</span></td>
<td> </td>
<td>cat 1.txt</td>
<td style="width:567px;"><span style="color:#000000;">显示文本文件内容 </span></td>
</tr><tr><td>more</td>
<td> </td>
<td>more 1.txt</td>
<td style="width:567px;">
<p style="margin-left:0in;"><span style="color:#000000;">分页显示文本文件内容,可前后翻页,空格向后,b向前</span></p>
</td>
</tr><tr><td>less</td>
<td> </td>
<td>less 1.txt</td>
<td style="width:567px;">
<p style="margin-left:0in;"><span style="color:#000000;">分页显示文本文件内容,可前后翻页,空格向后,b向前,支持底行模式(后面介绍)</span></p>
</td>
</tr><tr><td>head</td>
<td> </td>
<td>head 1.txt</td>
<td style="width:567px;">查看文本开头部分,默认十行</td>
</tr><tr><td> </td>
<td>-[num]</td>
<td>head -20 1.txt</td>
<td style="width:567px;">查看文本开头部分指定行数</td>
</tr><tr><td>tail</td>
<td> </td>
<td>tail 1.txt</td>
<td style="width:567px;">查看文本结尾部分,默认十行</td>
</tr><tr><td> </td>
<td>-[num]</td>
<td>tail -20 1.txt</td>
<td style="width:567px;">查看文本结尾部分指定行数</td>
</tr><tr><td> </td>
<td>-f</td>
<td>tail -f 1.txt</td>
<td style="width:567px;">循环滚动读取文件并动态显示在屏幕上,根据文件属性追踪</td>
</tr><tr><td> </td>
<td>-F</td>
<td>tail -F 1.txt</td>
<td style="width:567px;">循环滚动读取文件并动态显示在屏幕上,文件文件名追踪</td>
</tr><tr><td><span style="color:#000000;">wc</span></td>
<td> </td>
<td>wc 1.txt</td>
<td style="width:567px;">
<p style="margin-left:0in;"><span style="color:#000000;">统计文本的行数、字数、字符数</span></p>
</td>
</tr><tr><td> </td>
<td>
<p>-m</p>
</td>
<td>wc -m 1.txt</td>
<td style="width:567px;"><span style="color:#000000;">字符数</span></td>
</tr><tr><td> </td>
<td>-w</td>
<td>wc -w 1.txt</td>
<td style="width:567px;">文本字数</td>
</tr><tr><td> </td>
<td>-l</td>
<td>wc -l 1.txt</td>
<td style="width:567px;">文本行数</td>
</tr><tr><td><span style="color:#000000;">find</span></td>
<td>-name</td>
<td>find / -name 1.txt</td>
<td style="width:567px;"><span style="color:#000000;">在文件系统中的指定目录下查找指定的文件</span></td>
</tr><tr><td>grep</td>
<td> </td>
<td>grep aaa 1.txt</td>
<td style="width:567px;">在指定文件中查找包含指定内容的行,例:在1.txt中查找包含aaa的所有行</td>
</tr><tr><td><span style="color:#000000;">ln</span></td>
<td> </td>
<td>ln 1.txt 1_bak.txt</td>
<td style="width:567px;"><span style="color:#000000;">建立链接文件,</span></td>
</tr><tr><td> </td>
<td>
<p>-s</p>
</td>
<td>ln -s 1.txt 1_bak.txt</td>
<td style="width:567px;"><span style="color:#000000;">对源文件建立符号连接,而非硬连接</span></td>
</tr></tbody></table></div><h3><a name="t2"></a>2.2 系统常用命令</h3>
命令 |
参数 |
示例 |
说明 |
top |
|
top |
显示当前系统中耗费资源最多的进程
|
date |
|
date |
显示系统当前时间 |
ps |
|
|
较少单独使用,配参数根据需求,ps -ef 或者ps-aux |
|
-e /-A |
ps -e |
显示所有进程,环境变量
|
|
-f |
ps -ef |
全格式显示 |
|
-a |
ps -a |
显示所有用户的所有进程(包括其它用户)
|
|
-u |
ps -au |
按用户名和启动时间的顺序来显示进程
|
|
-x |
ps -aux |
显示无控制终端的进程 |
kill |
-9 |
kill -9 pid |
强制杀死一个进程 |
df |
|
df |
显示文件系统磁盘空间的使用情况 |
|
-h |
df -h |
以人类可读的方式显示,Kb,Mb,GB等 |
du |
|
|
显示指定的目录及其子目录已使用的磁盘空间的总和
|
|
-s |
du -s * |
进显示指定目录的总和,*当前目录下表示所有 |
|
-h |
du -sh * |
以人类可读的方式显示,Kb,Mb,GB等 |
free |
|
free |
显示当前内存和交换空间的使用情况 |
ifconfig |
|
ifconfig |
网卡网络配置,常用于查看当前IP地址 |
|
|
ifconfig eth0 192.168.12.22 |
临时修改系统IP(重启后失效) |
ping |
|
ping baidu.com |
测试网络的连通性 |
hostname |
|
hostname |
查看主机名 |
shutdown |
-r |
shutdown -r |
先关机,再重启 |
|
-h |
shutdown -h |
关机后不重启 |
halt |
|
halt |
关机后关闭电源,相当于shutdown -h
|
reboot |
|
reboot |
重新启动 相当于shutdown -r
|
2.3 压缩解压缩
命令 |
参数 |
示例 |
说明 |
gzip |
|
gzip 1.txt |
压缩后面的文件或者文件夹 |
|
-d |
gzip -d 1.txt.gz |
解压后面的压缩文件 |
|
-[num] |
gzip -9 1.txt |
用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
|
tar |
-c |
tar -cvf 1.tar 1.txt |
建立一个压缩文件的参数指令,例,将1.txt压缩为1.tar,也可指定多个文件或文件夹 |
|
-x |
tar -xvf 1.tar 1.txt |
解开一个压缩文件的参数指令 |
|
-z |
tar -zcvf 1.tar.gz 1.txt
<p>tar -zxvf 1.tar.gz 1.txt</p>
</td>
<td style="width:469px;"><span style="color:#000000;">是否需要用 gzip ,使用gzip压缩或解压</span></td>
</tr><tr><td> </td>
<td><span style="color:#000000;">-v</span></td>
<td> </td>
<td style="width:469px;"><span style="color:#000000;">压缩的过程中显示文件</span></td>
</tr><tr><td> </td>
<td><span style="color:#000000;">-f </span></td>
<td> </td>
<td style="width:469px;"><span style="color:#000000;">使用档名,在 f 之后要立即接档名</span></td>
</tr></tbody></table></div><h3><a name="t4"></a>2.4 文件权限操作</h3>
- linux文件权限的描述格式解读
- r 可读权限,w可写权限,x可执行权限(也可以用二进制表示 111 110 100 --> 764)
- 第1位:文件类型(d 目录,- 普通文件,l 链接文件)
- 第2-4位:所属用户权限,用u(user)表示
- 第5-7位:所属组权限,用g(group)表示
- 第8-10位:其他用户权限,用o(other)表示
- 第2-10位:表示所有的权限,用a(all)表示
命令 |
参数 |
实例 |
说明 |
chmod |
|
chmod u+r 1.txt |
修改文件或目录的权限
<p><span style="color:#000000;">u表示当前用户,g表示同组用户,o表示其他用户,a表示所有用户</span></p>
<p><span style="color:#000000;">r表示可读,w表示可写,x表示可执行</span></p>
<p><span style="color:#000000;">例:修改1.txt文件给当前用户添加可执行权限</span></p>
</td>
</tr><tr><td> </td>
<td>-R</td>
<td>chmod -R u+r dir1</td>
<td style="width:566px;">修改指定目录及其子目录的所有文件的权限</td>
</tr><tr><td> </td>
<td>三位数字</td>
<td>chmod 764 1.sh</td>
<td style="width:566px;">
<p>直接指定文件的权限</p>
<p>7:表示可读可写可执行,4+2+1</p>
<p>6:表示可读可写,4+2</p>
<p>...</p>
</td>
</tr><tr><td>chown</td>
<td> </td>
<td>chown user1:group1 1.txt</td>
<td style="width:566px;">
<p>修改文件的所属用户和组</p>
<p>例:将1.txt文件的所属用户指定为user1,组为group1</p>
</td>
</tr><tr><td> </td>
<td>-R</td>
<td>chown -R user1:group1 1.txt</td>
<td style="width:566px;">
<p>修改目录下所有文件及子目录的所属用户和组</p>
<p><span style="color:#000000;">用数字来表示权限(r=4,w=2,x=1,-=0)</span></p>
</td>
</tr></tbody></table></div><p> </p>
三、linux系统常用快捷键及符号命令
命令 |
参数 |
实例 |
说明 |
ctrl + c |
|
|
停止进程 |
ctrl + l |
|
|
清屏 |
ctrl + r |
|
|
搜索历史命令 |
ctrl + q |
|
|
退出 |
tab |
|
|
自动补全 |
> |
|
echo "haha" > 1.txt |
将前一条命令的输出,写入到后面的文本中
<p>将文本清空,然后写入</p>
</td>
</tr><tr><td>>></td>
<td> </td>
<td>echo "lala" >> 1.txt</td>
<td style="width:545px;">
<p>将前一条命令的输出,写入到后面的 文本中</p>
<p>不清空文本,追加到文本最后</p>
</td>
</tr><tr><td>|</td>
<td> </td>
<td>cat 1.txt | grep 'hello'</td>
<td style="width:545px;">
<p>管道命令,以前一个命令的输出作为输入,然后进行运算</p>
<p>例:打印1.txt中带有hello字符串的行</p>
</td>
</tr><tr><td>*</td>
<td> </td>
<td> </td>
<td style="width:545px;">通配符,指所有</td>
</tr></tbody></table></div><h3><a name="t6"></a>四、vim编辑器</h3>
vi / vim是Linux上最常用的文本编辑器而且功能非常强大。只有命令,没有菜单,下图表示vi命令的各种模式的切换图。
4.1 修改文本
i |
在光标前插入
|
I |
在光标当前行开始插入
|
a |
在光标后插入
|
A |
在光标当前行末尾插入
|
o |
在光标当前行的下一行插入新行
|
O |
在光标当前行的上一行插入新行
|
:wq |
保存并退出 |
4.2 定位命令
:set nu |
显示行号 |
:set nonu |
取消行号 |
gg |
跳到首行 |
G |
跳到末行 |
:n |
跳到第n行 |
4.3 替换和取消命令
u |
undo,取消上一步操作 |
Ctrl + r |
redo,返回到undo之前
|
r |
替换光标所在处的字符
|
R |
从光标所在处开始替换,按Esc键结束
|
4.3删除命令
x |
删除光标所在处字符 |
nx |
删除光标所在处后的n个字符 |
dd |
删除光标所在行。ndd删除n行 |
dG |
删除光标所在行到末尾行的所以内容 |
D |
删除光标所在处到行尾的内容 |
:5,7d |
删除指定范围的行 |
4.4 常用快捷键
Shift+ zz |
保存退出,与“:wq”作用相同 |
v |
进入字符可视模式 |
V |
进入行可视模式 |
Ctrl + v |
进入块可视模式 |
|
|
|
|