本文编写于 1431 天前,最后修改于 1404 天前,其中某些信息可能已经过时。

常用linux操作

自从博主去年购入了ubuntu的服务器之后就开始主动强迫自己使用命令行的linux 实际上发现,如果熟练了一点之后,实际上效率还是很高的,毕竟不需要用鼠标了

当然如果是使用触控板,如force touch 触控板来进行操作,也是相当方便的,这里夸一下Apple苹果公司的Macbook Pro

常用的linux/shell命令

首先,请看这个Linux命令大全 这个相当齐全,当然也更加复杂,这里只介绍自己用过的,简单语法

ssh

ssh是在基本不过的语句,通过该语句我们可以使用命令行来远程连接我们的服务器 ssh默认端口是22,如果更改了需要 通过-p 端口号 来选择对应端口 具体语法

ssh username@192.168.1.1
#用户登录名@服务器地址

如果想退出,使用ctrl+D或者exit即可退出ssh

scp

scp是用来传输文件的命令,在没有FTP客户端的情况下很好用,不要把scp和scp基金会弄混了哦

scp基本语法是 scp A B 把A复制到B 如果需要复制目录 使用-r进行递归目录处理,如果更改端口,使用-p 端口号

具体语法

1 )本地复制到远程服务器

scp local_file remote_username@remote_ip:remote_folder 
# 复制目录的话
scp -r local_folder remote_username@remote_ip:remote_folder 

2 ) 从远程复制到本地 顺序调换即可

scp local_file remote_username@remote_ip:remote_folder 
# 复制目录的话
scp -r remote_username@remote_ip:remote_folder local_folder

mv

mv指令,顾名思义就是move指令,可以用来移动文件,重命名文件 基础语法

#重命名文件
mv [option] file1 file2
#移动文件
mv [option] file1 destination
#移动目录文件,若目录移动到的不存在 就重命名目录名
mv [option] destination1 destination2

其中option的选项有

-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

touch

touch是啥,是一个无中生有的命令,即可以创建一个空白文件,同时也可以通过touch指令来修改文件的属性,可惜我看不懂修改属性这个

太基础的语法了:

#创建一个readme的markdown文件
touch README.md 

mkdir

所谓make directory是也,创建一个文件夹 这个命令在dos似乎也能用

mkdir mynekopara
# 创建一个名为mynekopara的文件夹
cd mynekopara

rm

rm 是 remove 的意思,删除文件

rm [选项] 文件名
rm -r mynekopara
# 遍历删除mynekopara文件夹的所有文件

-i 删除前逐一询问确认。 -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 -r 将目录及以下之档案亦逐一删除。

至于rm rf /* 这个命令,现在我们就可以看懂了,即遍历并不做选择的删除linux目录/下的所有文件,相当于格式化,所以相当危险,千万不要用这个命令。

cat

顾名思义,是一只猫猫????,用猫猫柔软的身体可以看到文件的全部 实际是骗你的,这个catneko这个cat,更非 巧克力和香子兰这个cat

而是concatenate的简写,类似于dos下面的type命令 该命令用于连接文件并打印到标准输出设备上

基础语法:

cat a.md

然后就会无代码高亮的输出了

man

manual是也,即查看对应命令的指令的操作方法

man vim
#即可查看vim的命令如何使用

vim

这个太难了,没法一篇写完感觉,写一下常见的几个操作,注意Vim是区分大小写的 大多数人第一次使用VIM学的就是如何退出这个程序

i-input输入模式,vim进去要打字就要先用i进入input模式
esc-键盘左上角,推出输入模式需要按这个键
u-撤销命令,相当于Ctrl+z
.-重复命令,相当于Ctrl+shift+z 如果你知道Photoshop快捷键的话
hjkl-对应着方向键左下上右

v-进入可视模式,即选中模式
y-选中模式中选中文本后按y进行拷贝
Y-拷贝当前行
p-粘贴

:w-保存文件
:q-退出
:wq-保存并退出
:q!-不保存退出

也可以看这张图

chmod

授权命令

chmod [-cfvR] [--help] [--version] mode file...

mode : 权限设定字串,格式如下 :

[ugoa...][[+-=][rwxX]...][,...]

其中:

u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

chmod也可以用数字来表示权限如 :

chmod 777 file

语法为:

chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

所以我经常用的是 chmod -R 777 file 给file及其内部的文件赋予完全的权限

htop

linux的任务管理器,可以查看cpu内存等情况

ifconfig

linux的设备管理器,可以查看网卡具体情况,很像dos下的ipconfig,但多了更多的设备信息

reboot

linux重启

grep

抱歉太复杂了,Linux grep 命令用于查找文件里符合条件的字符串。 请看这个 Linux grep命令

netstat

和上一条联动,查看端口命令

netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 80   //查看所有80端口使用情况·
netstat -ntulp | grep 3306   //查看所有3306端口使用情况·

curl

发送网络请求的命令 我经常用这个功能一键登录学校网关,非常方便,此外苹果ios设备中的捷径应用也自带一个类似的工具,可以用来对接数据,当然也可以一键登陆网关拉 太多,放个链接走人 Curl常用命令

ls

List命令,最常用的查看文件夹的命令 直接输入ls即可

tree

树状图,以树状图的形式遍历输出文件夹内部的结构与关系

tree file

总之,我很好奇!

推荐几个网址,方便学习更多的内容

  1. 都快0202年了,还不会Linux 基础命令?
  2. 腾讯云开发者实验室可以实战学习Linux怎么操作