基础介绍
以ubuntu为例,可以使用PuTTY等远程登录工具进入linux系统终端;如果是虚拟机,则可以使用快捷键 Ctrl+Alt+t 打开虚拟终端,界面如下
linux@ubuntu:~$
用户名 linux 主机名 ubuntu 当前路径 ~
shell命令提示符 $ 或者 #
man手册的使用 man 1 [command] 查看shell命令
linux@ubuntu:~/work/temp$ man 1 pwd
man 2 [system call] 查看系统调用函数
linux@ubuntu:~/work/temp$ man 2 open
man 3 [lib func] 查看库函数
linux@ubuntu:~/work/temp$ man 3 fopen
clear 或 Ctrl+l 清屏
linux@ubuntu:~/work/temp$ clear
目录文件
查看当前的绝对路径
linux@ubuntu:~$ pwd
/home/linux
绝对路径的第一个 / 代表起始的根目录,后面所有的 / 都是分隔符
列出当前路径下的目录和文件
linux@ubuntu:~$ ls
core Documents examples.desktop Pictures Templates vimconfig
Desktop Downloads my_share Public Tools work
显示目录和文件的详细信息
linux@ubuntu:~$ ls -l
total 18332
-rw------- 1 root root 18718720 Jun 15 2019 core
drwxr-xr-x 2 linux linux 4096 May 23 2018 Desktop
drwxr-xr-x 2 linux linux 4096 Aug 5 2015 Documents
drwxr-xr-x 2 linux linux 4096 Aug 5 2015 Downloads
-rw-r--r-- 1 linux linux 8980 Aug 5 2015 examples.desktop
drwxrwxrwx 2 linux linux 4096 Jan 24 2019 my_share
第1列表示文件的类型和权限
d 或 - | rwx | r-x | r- - |
---|
目录文件/普通文件 | 用户权限 read write execute | 用户组权限 read execute | 其他人员权限 read |
第3/4列分别是文件所属的用户和用户组
列出当前路径下的所有目录和文件
linux@ubuntu:~$ ls -a
. Desktop .lesshst .vim
.. .dmrc .local vimconfig
.android Documents .mozilla .viminfo
. | . . | .local |
---|
代表当前目录 | 代表上层目录 | 表示local为隐藏文件 |
创建目录(make directory)
linux@ubuntu:~/work$ mkdir temp
linux@ubuntu:~/work$ ls
arrays led no_os temp
切换路径(change directory)
linux@ubuntu:~$ cd work/
linux@ubuntu:~/work$
操作已存在的命令或目录/文件名,常用 Tab 键快速补齐
返回上层目录
linux@ubuntu:~/work$ cd ..
linux@ubuntu:~$
返回到上一次所在目录
linux@ubuntu:~$ cd -
/home/linux/work
linux@ubuntu:~/work$
新建文件
linux@ubuntu:~/work/temp$ touch test
linux@ubuntu:~/work/temp$ ls -l
total 0
-rw-rw-r-- 1 linux linux 0 Jul 26 23:38 test
linux@ubuntu:~/work/temp$
如果文件已存在,则会刷新文件的时间戳
删除文件(remove)
linux@ubuntu:~/work/temp$ rm test
删除目录文件
linux@ubuntu:~/work$ rm -r temp/
拷贝文件(copy)
linux@ubuntu:~/work/temp$ cp test1 temp1/
linux@ubuntu:~/work/temp$ ls -l temp1/
total 0
-rw-rw-r-- 1 linux linux 0 Jul 26 23:51 test1
linux@ubuntu:~/work/temp$
拷贝的同时可以重命名
linux@ubuntu:~/work/temp$ cp test1 temp1/test2
linux@ubuntu:~/work/temp$ ls -l temp1/
total 0
-rw-rw-r-- 1 linux linux 0 Jul 26 23:53 test2
linux@ubuntu:~/work/temp$
拷贝目录文件
linux@ubuntu:~/work/temp$ cp -r temp1/ temp2/
linux@ubuntu:~/work/temp$ ls
temp1 temp2 test1 test2
移动目录/文件(move)
linux@ubuntu:~/work/temp$ mv test3 temp1/
移动的同时可以重命名
linux@ubuntu:~/work/temp$ mv temp1/test3 test4
linux@ubuntu:~/work/temp$ ls
temp1 temp2 test1 test2 test4
移动多个目录/文件
linux@ubuntu:~/work/temp$ mv test1 test2 test4 -t temp2/
linux@ubuntu:~/work/temp$ ls temp2/
test1 test2 test4
编辑文件
默认编辑器 vim
linux@ubuntu:~/work/temp$ vim test5
如果文件test5不存在,vim会自动创建并打开空白文件 打开文件test1并且光标定位到第6行
linux@ubuntu:~/work/temp$ vim test1 +6
同时打开多个文件 水平分屏
linux@ubuntu:~/work/temp$ vim -o2 test1 test2
垂直分屏
linux@ubuntu:~/work/temp$ vim -O2 test1 test2
vim 有 命令模式 编辑模式 底行模式 3种工作状态,打开文件后vim默认处于命令模式,i / o 键切换到编辑模式,空格 或 : 键切换到底行模式,Esc 键返回到命令模式。
命令模式
介绍命令模式下的常用操作 Ctrl+f 向下翻整页(forward) Ctrl+b 向上翻整页(back) Ctrl+d 向下翻半页(down) Ctrl+u 向上翻半页(up) Ctrl+e 向上滚一行 Ctrl+y 向下滚一行 Ctrl+z 关闭文件 j 光标下移一行 k 光标上移一行 3 + 光标下移3行 3 - 光标上移3行 h 光标左移一行 l 光标右移一行 zz 光标所在行居中 zt 光标所在行居首(top) zb 光标所在行居末(bottom) gg 光标跳到文件首行 G 光标跳到文件末行 Ctrl+o 光标返回至前一个位置 Ctrl+i 光标返回至后一个位置 Ctrl+g 显示当前行信息
yy 复制光标所在的行 5yy 复制自光标以下5行 dd 剪切光标所在的行(如果不粘贴相当于删除) 5yy 剪切自光标以下5行 p 将复制或剪切的内容粘贴到光标所在的下一行 u 撤销当前操作 Ctrl+r 恢复当前操作
代码自动排版技巧 gg = G gg v G =
底行模式
介绍底行模式下的常用操作 在标识符 : 后输入命令,回车键生效 w 保存文件 w! 强制保存 w! sudo tee% + 3次回车 超强制保存 q 退出文件 q! 强制退出 wq 保存并退出 f 显示当前文件名和路径 356 光标跳到文件第356行 3,7y 复制文件的第3至第7行 3,7d 剪切文件的第3至第7行 sp ./test1 水平分屏打开当前目录下 test1文件 命令模式下Ctrl+w k / w j 水平分屏时上下切换光标 res +3 当前窗口高度加3 res -3 当前窗口高度减3 vsp ./test1 垂直分屏打开当前目录下 test1文件 命令模式下Ctrl+w h / w l 垂直分屏时左右切换光标 vertical res +3 当前窗口宽度加3 vertical res -3 当前窗口宽度减3 wqa 保存并退出所有文件
3,7s#^#//#g 注释第3至第7行(注释符 //) 3,7s#^//##g 删除第3至第7行的注释符 // 3,7s/^/#/g 注释第3至第7行(注释符 #) 3,7s/^#//g 删除第3至第7行的注释符 #
命令模式下输入 / 或 ? 进入底行模式搜索关键字 /alloc 高亮显示文本中所有alloc关键字 ?alloc 高亮显示文本中所有alloc关键字 命令模式下输入n / N ,光标上下跳转至关键字 noh 取消高亮显示(no high) set ignorecase 搜索关键字时忽略大小写 set noignorecase 搜索关键字时区分大小写
set nu 显示行号(number) set nu! 隐藏行号 Man 3 fopen 在man3手册中查询 fopen 库函数 Tlist 显示文件中的函数(需要taglist插件支持)
|