博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux的常用命令
阅读量:5943 次
发布时间:2019-06-19

本文共 3435 字,大约阅读时间需要 11 分钟。

Linux的常用命令

------------------

 

ls :列出当前目录下的文件

pwd :打印当前目录的绝对路径

touch 创建指定文件

rm 删除指定文件

mkdir 创建指定空目录

rmdir 删除指定空目录

rm -rf 删除非空目录 -r 表示递归删除,-f 强制执行

clear / ctrl + l 快速清屏

 

------------------

Vim的基本操作
------------------

Vim 是Vi 的升级版。

主要有两种模式:

默认打开文件后,是命令模式

编辑模式:
按一下键进入编辑模式:

i 在当前光标前,进行编辑

I 在当前行的行首,进行编辑

a 在当前光标后,进行编辑

A 在当前行的行尾,进行编辑

o 在当前行的下面开辟新行,进行编辑

O 在当前行的上面开辟新行,进行编辑

 

命令模式:
在编辑模式下,按ESC键进行命令模式

h : 向左

j : 向下
k : 向上
l : 向右

x 删除光标所在的字符

X 删除光标前一个字符

dd 删除当前行字符

D 删除当前行光标和光标之后的所有字符

u 撤销上一步操作

r 替换当前光标的字符

gg 就是回到文件的开始位置

G 到文件的结尾所在行的开始

:w 保存数据
:q 退出文件(如果文件没保存则提示出错)
:q! 强制退出,打开后写入的数据则不保存。

:wq 保存并退出

:x 保存并退出
shift + zz 保存并退出

yy 复制当前行
p 在下一行粘贴复制的内容

 

使用命令的时候,可以按下ESC键终端当前命令

 

 

 

 

dd 删除/剪切当前行字符
yy 是复制当前行
p 是光标所在行的下面一行粘贴 复制/剪切的内容

D 删除/剪切 当前行光标和光标之后的所有字符

p 在光标的位置后进行粘贴(不会换行)

u 是撤销
ctrl + r 是反撤销

y1j :从光标所在行开始,向下复制1行,总共2行

y2k :从光标所在行开始,向上复制2行,总共3行

视图模式:
v 进入视图模式,可以选中多行内容,只处理被选中的部分
ctrl + v 进入视图模式,可以 按区域块 选中,只处理被选中的部分

v G : 从当前位置开始,向后选中全部内容

 

man ls

空格:走一屏幕

回车:走一行
b :回滚一屏幕
q :退出

 

终端的命令技巧:

方向键 上下 切换之前的命令

方向键 左右 移动光标
ctrl + a : 移动光标到命令的头部
ctrl + e : 移动光标到命令的尾部
善用tab键补齐文件名/目录名
ctrl + c :立刻终止当前程序/行为

ctrl + u 清除当前的命令内容

 

ls -a 显示所有文件,包括隐藏文件

ls -l 显示文件的详细信息

例如:-rw-rw-r-- 1 python python 1466 9月 11 14:52 a.py

第一个字符表示文件类型:-普通文件,d表示目录

rwx rw- r--

文件所有者权限 所属用户组的权限 其他用户的权限

r read 表示读权限

w write 表示写权限
x execute 表示执行权限

1 表示硬链接数量 :相当于文件拷贝,拷贝越多,硬链接就越多,删除一个拷贝,硬链接就减少一个。

python python : 用户名 和 组名

1466:文件大小,单位 Byte

9月 11 14:52 :表示文件的最后修改时间

a.py :文件名

 

cp :拷贝

cp 源文件 拷贝后的文件

cp -r 源目录 拷贝后的目录

mv : 移动/重命名 文件/目录
mv 源文件/目录 移动后的文件名/目录名

 

cat:在终端上显示文件里文本内容,适用于文本内容较少时候使用
-n 可以显示行号

cat -n xxx.py

more:在终端上分段显示内容,适用于内容较多的时候使用

grep : 在文本里查找指定的内容
grep "文本内容" 文件名

grep支持正则表达式,正则表达式是一种文本匹配工具,一般编程语言都支持正则表达式。 Python通过 import re 导入模块使用正则。
举例:
^hello : 表示匹配以hello开头的字符串
world$ : 表示匹配以world结尾的字符串

UNIX哲学:一个功能只做一件事,各个功能之间可以配合使用。

 

重定向: 将终端的输出内容重定向到文件里(注意,重定向不要重定向到文件自身,否则会导致内容丢失)

> 相当于文件操作的 w ,如果文件不存在,则创建文件并写入数据,如果文件存在则清空文件再写入数据
>> 相当于文件操作的 a,如果文件不存在,则创建文件并写入数据,如果文件存在则在文件末尾追加新的数据

可以配合Linux的其他命令一起使用,只要是终端的输出内容,都可以做重定向。

# 保存终端的输出信息(ps -aux表示显示所有进程的详细信息)

ps -aux > ps_info.txt

# 文件合并

cat file1 >> file2

管道: 将第一个命令的结果,通过管道,传递给第二个命令处理

ps -aux | grep "sogou"

python 1444 0.2 0.2 29932 8316 pts/2

显示pid编号 1444

sudo kill -9 1444

 

 

ls -al | more

cat xxx.txt | grep

 

 

chmod 修改文件权限:

chmod +x 让所有用户都具有执行权限
chmod -r 让所有用户都没有读权限
这样处理权限要么都有,要么都没有。

chmod 777 test.py # 所有用户可读可写可执行
chmod 536 test.py # 文件所有者 5:读执行, 组 3:写执行, 其他用户 6:读写
chmod 400 test.py # 文件所有者 4:读, 其他用户没有权限

0 表示没有权限

1 表示执行权限
2 表示写权限
4 表示读权限

 

Windows 在目录里执行:

先找当前目录,如果当前目录有,则立刻执行;如果当前目录没有,则去找环境变量。

Linux 在目录里执行:
直接找环境变量,如果环境变量有,则执行;如果没有,则报错。

所以,需要在前面加上 ./ 指明Linux执行当前目录下的文件。

#!/usr/bin/python3

# 表示如果文件作为可执行程序运行,则使用指定解释器进行解释。

#coding:utf-8

# Python2 默认环境是ascii编码,不能处理中文。coding:utf-8 表示按utf-8编码处理中文。在Python2的代码里比较常见。

# Python3 环境已经改为utf-8,所以不用指定了。
print("你好世界,你坏世界。")

 

find: 查找指定目录下的所有符合条件的文件(注意,find会递归查找所有的子目录)

如果不写路径,则默认查找当前目录;如果不写 -name 文件名,则默认查找所有文件

# 查找当前目录下所有的 .py 文件,包括子目录
find ./ -name "*.py"

软连接:

ln -s 源文件的绝对路径 软连接的路径和名称

1. 源文件必须用绝对路径

2. 创建好软连接后,不要移动源文件,否则会失效。

硬链接:简单理解为文件的拷贝(课后了解)

 

Linux 打包 和 压缩:一般把需要打包的文件和目录全部存到统一的一个目录,再去打包这个目录。

tar 只是包,并没有做压缩

# 打包
tar -cvf 打包后的包名.tar 需要打包的目录
# 解包
tar -xvf 打包后的包名.tar

tar.gz 会进行压缩,大小会大大降低
# 压缩 gzip
tar -zcvf 压缩后的包名.tar.gz 需要打包的目录

# 解压缩

tar -zxvf 压缩后的包名.tar.gz

 

sudo su # 切换超级用户,一般不推荐这么做,避免因为误操作导致系统问题,不小心误删文件或修改文件,系统不会提示。

sudo vi /bin/xxxx # 需要权限单独加 sudo

 

 

# 1. 安装软件

$ sudo apt install 软件包

# 2. 卸载软件

$ sudo pip remove 软件名

# 3. 更新已安装的包

$ sudo apt upgrade

转载于:https://www.cnblogs.com/wdx8927304/p/7852440.html

你可能感兴趣的文章
转:Eclipse自动补全功能轻松设置
查看>>
mysql update操作
查看>>
Robots.txt - 禁止爬虫(转)
查看>>
MySQL数据库
查看>>
Mysql 监视工具
查看>>
SSH详解
查看>>
ASM概述
查看>>
【290】Python 函数
查看>>
godaddy域名转发(域名跳转)设置教程
查看>>
silverlight学习布局之:布局stackpanel
查看>>
理解并自定义HttpHandler
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
JavaScript标准库系列——RegExp对象(三)
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
关于缓存命中率的几个关键问题!
查看>>
oracle中create table with as和insert into with as语句
查看>>
kafka连接异常
查看>>
11g废弃的Hint - BYPASS_UJVC
查看>>
为什么工业控制系统需要安全防护?
查看>>
Mongodb部署记录[3]-主从搭建
查看>>