引言
在使用linux之前需要掌握一些基本的Linux命令,我使用的linux 系统是 linux Mint
目录
文件操作
1.路径浏览
使用 cd
命令切换目录。
1.1 进入上一级目录
$ cd ..
1.2 进入 home 目录
$ cd ~
或者
$ cd /home
1.3 绝对路径
以根“/”目录为起点的完整路径,以你所要到的目录为终点,例如:
$ cd /home/<你的用户名>/Documents
1.4 相对路径
以当前,目录为起点,以你所要到的目录为终点,例如:
$ cd /usr/local
# 这就浏览到了根目录下的usr目录下的local目录
$ cd bin
# 这就是从local目录浏览的它下面的bin目录
2.新建
2.1 新建文件
$ touch emptyfile.txt
如果不指定文件格式,那么就会新建一个文本文件
2.2 新建目录
创建一个名为“mydir”的空目录
$ mkdir mydir
创建一个多级目录
$ mkdir -p father/son/grandson
3.复制
3.1 复制文件
使用 cp
(copy)命令复制一个文件到指定目录
将“test”文件复制到“/home/<用户名>/Documents”目录中:
# cp 文件名 指定目录
$ cp test /home/<用户名>/Documents
3.2 复制目录
将“test”文件夹复制到“/home/<用户名>/Documents”目录中:
# cp -r 目录 指定目录
$ cp -r test /home/<用户名>/Documents
4. 删除
4.1 删除文件
使用rm
命令删除一个文件
$ rm test
如果想删除一些只读的文件,那么就需要使用-f
参数
$ rm -f test
4.2 删除目录
# rm -r 文件夹名
$ rm -r folder
5. 移动或重命名
使用mv
命令移动文件。
将“file”文件(夹)移动到“/home/<用户名>/Documents”目录下:
$ mv file /home/<用户名>/Documents
将文件“file1”重命名为“file2”
$ mv file1 file2
6.查看文件
使用cat
tac
nl
命令查看文件
cat
tac
是将文件内容打印到终端,其中cat
是正序显示,tac
是倒序显示。
# 可以加上`-n`参数显示行号
$ cat -n file
$ tac file
nl
命令,它是添加行号并打印,更专业。
常用参数:
-b : 指定添加行号的方式:
-b a: 无论是否为空行,都列出行号(与cat -n
相同)
-b t:只列出非空行的编号(default)
-n : 设置行号样式:
-n ln:在行号字段最左端显示
-n rn:在行号字段最右端显示,且不加 0
-n rz:在行号字段最右端显示,且加 0
-w : 行号字段占用位数(default:6位)
# 设置打印文件的行号占用2位,并加0显示在最右端
$ nl -w 2 -n rz file
7.查看文件类型
在Linux中文件的类型并不是根据后缀来判断的,我们通常使用file
命令查看文件类型:
查看“test”文件的类型
$ file test
8.编辑文件
在这里使用 vim编辑器
在终端编辑文件,
如果没有安装“vim”,那么输入以下命令安装:
$ sudo apt-get install vim
使用vim
命令进入vim界面
# vim 文件名
$ vim test.txt
按下i
键进入插入模式,在此模式下,你可以输入文本信息,按Esc
进入普通模式,然后输入:
进入命令行模式,输入w
回车,保存文档,输入q
回车,退出vim界面。
数据流重定向
关于Linux的重定向之前,我们需要先了解一些基本的东西,Linux默认提供三个特殊设备,用于终端的显示与输出,分别是stdin
(标准输入,对应于你在终端的输入),stdout
(标准输出,对应于终端的输出),stderr
(标准错误输出,对应于终端的输出)。
9.常用的重定向操作
# echo 内容 > 文件名(输入的内容将会覆盖整个文件内容)
$ echo 'Hello World' > test.txt
# echo 内容 >> 文件名(输入的内容追加在文件中)
$ echo 'Hello World' >> test.txt
10.简单的重定向操作
将cat的连续输出重定向到一个文件
$ cat > test.txt <<EOF
> #include <stdio.h>
> int main()
> {
> printf("Hello World\n");
> return 0;
> }
> EOF
11.标准错误重定向
# cat 文件1(一个不存在的文件) &> 文件2(以存在的文件)
# 将错误信息输出到了test.txt文件中
$ cat test1.txt &>test.txt
权限
12.查看权限
$ ls -l
total 12
drwxrwxr-x 3 azmddy azmddy 4096 Apr 29 16:46 father
-rw-rw-r-- 1 azmddy azmddy 62 Apr 30 09:17 test
-rw-rw-r-- 1 azmddy azmddy 9 Apr 30 08:49 test2.txt
-rw-rw-r-- 1 azmddy azmddy 0 Apr 30 09:16 test.txt
格式解析:
文件类型和权限 | 链接数 | 所有者 | 所属用户组 | 文件大小 | 最后修改日期 | 文件名 |
---|---|---|---|---|---|---|
drwxrwxr-x | 3 | azmddy | azmddy | 4096 | Apr 29 16:46 | father |
文件类型与权限:
文件类型 | 拥有者权限 | 所属用户组权限 | 其他用户权限 |
---|---|---|---|
d | rwx | rwx | r-x |
文件类型:
d
:目录
l
:软链接
b
:块设备
c
:字符设备
s
:socket(网络套接字)
p
:管道
-
:普通文件
权限:
r
:允许读权限
w
:允许写权限
x
:允许执行权限
注意:一个目录同时具备读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其他文件
13.修改权限
13.1 二进制数表示权限
rwx
对应着三位的二进制数,存在哪个权限二进制数的那一位为1,否在为0,例如:
rwx
: 111(二进制数) = 7
rw-
: 110(二进制数) = 6
-wx
: 011(二进制数) = 3
修改权限
# 700:文件的拥有者权限为`rwx`,所属用户组权限为`---`,其他用户权限为`---`
$ chmod 700 test.txt
13.2 加减赋值
$ chmod gou-rw test.txt
g
:group(用户组)
o
:others(其他用户)
u
:user(当前用户)
-
:去掉相应权限
+
:增加相应权限
rw
:所要增加或去掉的权限
进程
14.查看进程状态
14.1 top工具
top工具能够实时的查看系统的进程状态信息
$ top
# 退出top工具: ctrl+C
14.2 ps工具
ps工具是静态的查看系统当前的进程信息
$ ps aux
14.3 pstree工具
通过pstree工具,可以直接的看到相同进程的数目,更能够看到进程之前的相关性
$ pstree
14.4 启动软件
前台启动firefox
$ firefox
# 变成后台执行:ctrl+Z,然后
$ bg
# 程序回到前台
$ fg
# Ctrl+C关闭在shell的前台执行的进程
后台启动firefox
$ firefox &
14.5 kill 进程
# kill -9 PID(进程ID)("-9"表示强制结束进程)
$ kill -9 1625