Linux常用命令
Linux常用命令
VIM
- 一般指令模式(Command mode):VIM 的默认模式,可以用于移动游标查看内容;
- 编辑模式(Insert mode):按下 “i” 等按键之后进入,可以对文本进行编辑;
- 指令列模式(Bottom-line mode):按下 “:” 按键之后进入,用于保存退出等操作。
在指令列模式下,有以下命令用于离开或者保存文件。
命令 | 作用 |
---|---|
:w | 写入磁盘 |
:w! | 当文件为只读时,强制写入磁盘。到底能不能写入,与用户对该文件的权限有关 |
:q | 离开 |
:q! | 强制离开不保存 |
:wq | 写入磁盘后离开 |
:wq! | 强制写入磁盘后离开 |
文件与目录的基本操作
1. ls
列出文件或者目录的信息,目录的信息就是其中包含的文件。
ls [-aAdfFhilnrRSt] file|dir
-a :列出全部的文件
-d :仅列出目录本身
-l :以长数据串行列出,包含文件的属性与权限等等数据
2. cd
更换当前目录。
cd [相对路径或绝对路径]
3. mkdir
创建目录。
mkdir [-mp] 目录名称
-m :配置目录权限
-p :递归创建目录
4. rmdir
删除目录,目录必须为空。
rmdir [-p] 目录名称
-p :递归删除目录
5. touch
更新文件时间或者建立新文件。
touch [-acdmt] filename
-a :更新 atime
-c :更新 ctime,若该文件不存在则不建立新文件
-m :更新 mtime
-d :后面可以接更新日期而不使用当前日期,也可以使用 --date="日期或时间"
-t :后面可以接更新时间而不使用当前时间,格式为[YYYYMMDDhhmm]
6. cp
复制文件。如果源文件有两个以上,则目的文件一定要是目录才行。
cp [-adfilprsu] source destination
-a :相当于 -dr --preserve=all
-d :若来源文件为链接文件,则复制链接文件属性而非文件本身
-i :若目标文件已经存在时,在覆盖前会先询问
-p :连同文件的属性一起复制过去
-r :递归复制
-u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制
--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了
7. rm
删除文件或目录。
rm [op] target
-f :强制删除(force),系统将不再询问
-i :和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息询问是否删除
-r :递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件
-v :输出删除信息,把删除的文件打印出来
8. mv
移动文件。
mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
修改权限
可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r : 4、w : 2、x : 1。
chmod [-R] xyz dirname/filename
示例:将 .bashrc 文件的权限修改为 -rwxr-xr–。
chmod 754 .bashrc
也可以使用符号来设定权限。
chmod [ugoa] [+-=] [rwx] dirname/filename
- u:拥有者
- g:所属群组
- o:其他人
- a:所有人
- +:添加权限
- -:移除权限
- =:设定权限
示例:为 .bashrc 文件的所有用户添加写权限。
chmod a+w .bashrc
符号链接
1. 实体链接
在目录下创建一个条目,记录着文件名与 inode 编号,这个 inode 就是源文件的 inode。
删除任意一个条目,文件还是存在,只要引用数量不为 0。
有以下限制:不能跨越文件系统、不能对目录进行链接。
2. 符号链接
符号链接文件保存着源文件所在的绝对路径,在读取时会定位到源文件上,可以理解为 Windows 的快捷方式。
当源文件被删除了,链接文件就打不开了。
因为记录的是路径,所以可以为目录建立符号链接。
mklink [[/D] | [/H] | [/J]] Link Target
- /D 创建目录符号链接。默认为文件符号链接。
- /H 创建硬链接而非符号链接。
- /J 创建目录联接。常用
- Link 指定新的符号链接名称。
- Target 指定新链接引用的路径(相对或绝对)。
删除链接可用rm或者rmdir 命令
获取文件内容
1. cat
取得文件内容。
cat [-AbEnTv] filename
-n :打印出行号,连同空白行也会有行号,-b 不会
2. tac
是 cat 的反向操作,从最后一行开始打印。
3. more
和 cat 不同的是它可以一页一页查看文件内容,比较适合大文件的查看。
4. less
和 more 类似,但是多了一个向前翻页的功能。
5. head
取得文件前几行。
head [-n number] filename
-n :后面接数字,代表显示几行的意思
6. tail
是 head 的反向操作,只是取得是后几行。
7. od
以字符或者十六进制的形式显示二进制文件。
解压缩
压缩指令只能对一个文件进行压缩,而打包能够将多个文件打包成一个大文件。tar 不仅可以用于打包,也可以使用 gzip、bzip2、xz 将打包文件进行压缩。
tar [-z|-j|-J] [cv] [-f 新建的 tar 文件] filename... ==打包压缩
tar [-z|-j|-J] [tv] [-f 已有的 tar 文件] ==查看
tar [-z|-j|-J] [xv] [-f 已有的 tar 文件] [-C 目录] ==解压缩
-z :使用 zip;
-j :使用 bzip2;
-J :使用 xz;
-c :新建打包文件;
-t :查看打包文件里面有哪些文件;
-x :解打包或解压缩的功能;
-v :在压缩/解压缩的过程中,显示正在处理的文件名;
-f : filename:要处理的文件;
-C 目录 : 在特定目录解压缩。
查看进程
1. ps
查看某个时间点的进程信息。
示例:查看自己的进程
ps -l
示例:查看系统所有进程
ps aux
示例:查看特定的进程
ps aux | grep threadx
2. pstree
查看进程树。
示例:查看所有进程树
pstree -A
3. top
实时显示进程信息。
示例:两秒钟刷新一次
top -d 2
4. netstat
查看占用端口的进程
示例:查看特定端口的进程
netstat -anp | grep port