Linux/Ubuntu常用指令(一)

0. 写在前面

使用Ubuntu已经有1年有多了,分享一下自己常用的指令,顺便当做备忘录吧。这次有sudo、scp、ps、netstat、grep、man。

1. sudo

Ubuntu有一个与众不同的特点,那就是初次使用时,你无法作为root来登录系统。

我们可以用su这条指令切换到root用户,实际上我们一般不会这样做,因为你不知道哪一天会不会手抖打出了 ”rm .“ 而不需要输入任何密码就把你所有文件删掉。

因此,为了让普通用户能够使用root用户的权限,有时候会到了滥用sudo的地步,权限乱套了打开个编辑器保存文件在用户文件夹也会遇到permission denied的情况,说多了都是泪啊。显然,一条指令前面有sudo和没有sudo是很不一样的。

以下图为例,为什么会出现版本不同的情况?
截图

简单来说sudo仅是在当前操作中调用了root用户的权限,有效期为15分钟。sudo所调用的指令,来自root用户目录下,与普通用户不同,所以会出现以下情况。

所以,在配置ssh key的时候尤其要注意,因为系统可能调用的是root下的私钥而不是你用户下的私钥。

2. scp

神器,不解释

Linux之间的传文件神器,可直接上传文件到服务器(不推荐),同一网段间的设备只要装上服务器软件,也可通讯。

具体用法是

1
scp your_file user_name@ip:/path

3. whereis

查找指令所在目录方便更改配置文件

截图

4. grep

这个就厉害了,无论是查找文件和进程,都很有用。

配合正则使用,需要有一点正则的基础

图片

ps:”|”这个符号y而是一个强大的符号,叫做管道符号,指令1|指令2这种顺序的话,指令1的结果会传送的指令2进行处理。

5. ps

不是那个Photoshop,我们通常会用到以下指令:

1
2
3
4
ps -aux // 可以看到所有运行的程序 与 grep 连用筛选
ps -a // 显示现行终端机下的所有程序(包括其他用户的程序)
ps -u // 以用户为主的排序显示(username)
ps -x // 显示所有程序(包括所有终端机下的)

配合 grep 使用更佳。

6. netstat

这个跟ps有点像,但是是列出与网络相关的进程,查看端口时很有用。下面是参数:

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

同样,配合 grep 使用更佳。

7. man

指令手册,全英的。哪里不懂查哪里。