本文共 4114 字,大约阅读时间需要 13 分钟。
1、在命令行模式
:在vi编辑器中将光标放在函数上,shift + k 可直接man手册,退出man手册直接按两次q :直接 gg=G 可以使文件自动对齐 :gg 定位到文件的开头,G定位到文件的末尾 :M 定位到文件的中间,H 最上面一行,L 屏幕最下面一行,G 文章末尾一行 :shift+ctrl+n 打开一个新的终端 :[5]yy 复制光标以下5行,p粘贴 : yw 复制一个单词 :0 定位到每行的开头,不进入输入模式,$ 定位到每行的末尾 :[n]dd 剪贴n行,p粘贴 : dG 删除光标后的所有内容 :dw 删除1个单词 : D 删除当前行光标后面的部分 :d0/d^ 删至行首,d$ 删至行尾 : v 撤销,. 重复 :!command 执行shell使命 : r !command 将shell命令的执行结果保存到文件 : nr !command 将shell命令的执行结果保存到第n行2、在底行模式下:
: x 保存退出 : new 打开一个新的终端 : read 1.txt 将1.txt 也读入到该文件中 : %! sudo tee % > /dev/null 当权限不够时可强制保存 : 45 可将光标定位到第45行 : w 1.txt 将文件另存为1.c文件 : sp 1.txt 将1.txt在同一终端中同时打开(横向) : vsp/vs 1.txt 同上(纵向)3、在shell命令行: :ctrl+a 定位到命令的开头,ctrl+e 定位到命令行的末尾 : vi 1.txt +45 打开文件并定位到第45行 :ctrl+l:直接进行清屏(和clear一样)4、块选择: ctrl+v 然后操作方向键5、替换 : s/m/n/g 将光标所在行的 m 替换为 n : %s/m/n/g 全部替换6、快速编辑代码 ctrl + n / ctrl + p 变量、函数快速补全 ctrl + x + l 代码行补全
1、安装软件(取软件下载包所在的目录执行):
dpkg -i xxxx.deb2、卸载软件: dpkg -r xxxx1、重要目录和文件:
/var/cache/apt/archives :该目录存放已经下载过的deb软件包 /etc/apt/source.list :镜像源网址2、安装软件: 1: 更新镜像源: apt-get update 2: 安装软件包: apt-get install g++3、重新安装: apt-get install --reinstall g++ 4、卸载软件: apt-get remove 软件包名字5、软件升级: apt-get upgrade --->将系统中所有的软件升级到最新版本(如果网速慢的话,需要很长的时间,慎用)6、删除下载软件包: apt-get clean --->将/var/cache/apt/archives目录中所有下载过的软件包删除shell是一个命令行解释器,负责将命令解释成内核可以识别的东西,目前我们使用bash
vi /etc/shells #查看系统中支持哪些shell cd ~ #切换到用户主目录 ls -al #详细实现当前目录中的文件内容 ls -al;cd / #在一行中输入多个命令,中间加分号 cd - #回到上一次所在目录 alias myls='ls -al' #将ls -al 命令定义一个别名myls unalias myls 取消别名 cp ./*.c 123 #将当前目录中所有的.c文件拷贝到123目录 cp ./* 123 #将当前目录中所有的文件拷贝到123目录 ls -al | grep txt #使用管道来查找当前目录中的txt文件 ls -al > 1.txt #将ls -al 命令的输出内容写入1.txt文件(>> 追加的方式) wc -w < 1.txt #将1.txt作为wc命令的输入源,统计单词个数(dup,dup2) ls `pwd` #将pwd命令的输出作为ls命令的参数,(``为反引号) man 2/3 commands # 2:系统调用 3:库函数 ls --help #查看ls命令的帮助信息 info ls #查看ls程序的帮助页 sync #保证内存中的缓冲数据,动态实时的写入磁盘文件 sudo su #只切换用户,不切换shell(用户目录) sudo su - #用户和目录都切换 env #查看系统中所有的环境变量 echo $HOME #查看环境变量HOME的值 mount /dev/cdrom /mnt/ #将dev下的光盘cdrom挂载到mnt目录下 umout /mnt/ #卸载adduser zhangsan #添加用户
deluser zhangsan #删除用户 deluser --remove-home user1 #删除用户user1的同时删除用户的工作目录ps #查看当前终端运行进程,前台进程(相对应的是守护进程)
ps -aux #查看系统中所有运行的进程(进程表)1、进程的状态(STAT): S:睡眠 R:运行 T:停止 Z: 僵尸进程 N:低优先级进程 s: 会话的发起者 l:包含线程的进程 <: 高优先级进程 +:前台进程 []:系统级进程 ps -ef #同时可以查看系统中进程的父进程ID(PPID) ps -el #可显示所有进程的优先级 top #动态查看系统进程的状态2、进程的优先级(-20~19):-20最高,19最低,默认为0 sudo nice --5 ./hello #将hello运行时的优先级设为-5 sudo renice -5 19807 #将一个正在运行的进程(PID 为19807)的进程的优先级修改为-5 kill -l #显示系统中所有的信号 #define SIGKILL 9 kill -SIGKILL(或-9) 1152 #给pid为1152的进程发送SIGKILL信号,杀死它
ls -al
1、文件类型: -:普通文件(文本文件、二进制文件) l:链接文件(软连接) d:目录文件 p:管道文件 c:字符设备文件(键盘,鼠标) b:块设备(硬盘、Flash) s:套接字文件(socket)2、文件的权限: r(4) w(2) x(1) r - x - w x 所属用户 所属用户组 其他用户cd ../../ :回到上上一级目录
cd ~ :回到家目录 touch 1.c 2.c 3.c :同时创建多个文件(一个普通文件被创建时,没有可执行权限,默认权限为0644:0666-umask) mv file_old.c file_new.c : 实现文件的重命名 rm 1_day/ -fr :强制删除目录 rm ./* -fr :清空当前目录 cp –r dir1/ dir2:复制目录 mkdir –p dir1/dir2/dir3 :目录的嵌套创建 rmdir dir1 -p :删除目录下所有的子目录 head -8 pai.c :显示文件的前8行 tail -8 pai.c :显示文件的后8行ln -s pai.c 1:给文件pai.c创建一个软连接1,相当于快捷方式(将pai.c删除,则链接出错,再重新建立pai.c,又可生效)
ln pai.c 1:给文件创建一个硬链接1, 将pai.c删除之后,不会影响1对源文件的访问(pai.c和1共享文件的i节点)
1、zip格式:
zip -r dir.zip dir/ :将目录进行压缩 unzip dir.zip :解压2、gz格式: gzip 1.c :gzip只能一次压缩一个文件,压缩后的名字为源文件名加后缀 gunzip 1.c.gz:解压tar –cf myExamples.tar myExamples :只归档,不压缩 =》 tar –xvf myExamples.tar
tar -cjf myExamples.tar.bz/bz2 myExamples :采用bzip2格式压缩 =》 tar -xvjf myExamples.tar.bz tar -czf myExamples.tar.gz myExamples :采用gzip格式压缩 =》 tar -xvzf myExamples.tar.gzhostname myubuntu :临时修改,重启后恢复
vi /etc/hostname :永久生效; 修改主机名之后,要修改文件/etc/hosts,使新的主机名有相对应的ip(一般为回环地址:127.0.0.1)DNS:修改文件/etc/resolv.conf 该文件设置的DNS最多可以有三个,只要有一个生效即可