在Ubuntu16.04使用过程中经常会使用到几个指令和工具这里做一下总结。
1、关机和重启
在Linux领域内,大多数用在服务器上,很少会遇到关机的操作,毕竟在服务器上运行一个服务是永无止境的,除非在特殊情况下会采取关机操作。
正确的关机流程:sync > shutdown > reboot > halt
sync 将数据由内存同步到硬盘
shutdown (2分钟后关机)
shutdown -h 10 (10分钟后关机)
shutdown -h 20:55 (20:55 关机)
shutdown -c (取消关机指令)
shutdown now = poweroff = halt (立刻关机,比较常用)
shut -r now = reboot (马上重启,比较常用)
shut -r +10 (10分钟后重启)
2、root权限获取、根目录、用户目录、终端清理
(1)进入root权限: sudo su
退出root权限: exit
(2)清理终端: clear
(3)~代表用户目录,进入用户目录指令: cd 或者 cd ~
/代表根目录,进入根目录指令: cd /
进入上一级目录: cd ..
(4)进入Python: python
退出Python: quit() 或者: Ctrl + D
3、vi / vim工具的使用
编辑或者创建一个文件:vi / vim 文件路径 (若存在则编辑,不存在则创建)
进入vi / vim后:
(1)按i 若显示‘插入/insert’则可以开始编辑
(2)按ESC 退出正在编辑的模式
(3)底部命令模式:在按完ESC后按:(冒号)就可以
:q 退出
:q! 强制退出
:w 写入保存
:wq 写入保存并退出
如何在vim中添加行号,如何设置tab键的空格数目?
在用户目录下创建文件.vimrc:
vim ~/.vimrc
添加如下代码:
set nu (或者set number)
set tabstop=4 (4个空格)
4、创建目录/文件夹、移动/重命名目录、复制、删除
(1)查看文件文件的两个命令vi/vim 和 cat
(2)创建目录mkdir
例如创建一个一级目录:mkdir catkin_ws
创建一个多级目录:mkdir -p catkin_ws/src
(3)文件复制命令cp
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2
(4)文件移动命令mv
(mv命令也可以用于文件的重命名)
命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
(5)文件删除命令rm
命令格式:rm [fir] 文件或目录
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
如删除/test目录下的file1文件,可以输入以下命令:
rm -i /test/file1
如果要删除文件夹filebox下的所有文件,而不删除filebox目录本身:rm filebox/*
如果filebox下含有文件夹也需要删除的话,记得加上-r :rm -r filebox/*
如果删除当前路径下所有文件:rm * 或者:rm ./*
如果有文件夹加上-r: rm -r * 或者:rm -r ./*
(在Linux中使用rm命令一定要谨慎,Linux没有回收站!!!)
上述(3)(4)(5)转自:http://www.cnblogs.com/webcc/archive/2012/08/01/2651128.html
5、echo命令的使用
echo命令详细的介绍请看:http://www.cnblogs.com/ZhangShuo/articles/1829589.html和http://blog.csdn.net/xukai871105/article/details/35834703
但是在这里,主要讲解一下自己常常使用的用法:
例如:echo “Bryce” >> a.txt 将“Bryce”字符串追加到a.txt文件末尾(会在“Bryce”后面自动添加一个换行符)
若改为:echo “Bryce” > a.txt 将“Bryce”字符串替换掉a.txt文件中的内容(会在“Bryce”后面自动添加一个换行符)
若改为:echo -n “Bryce” >> a.txt 将“Bryce”字符串追加到a.txt文件末尾,并且不会在“Bryce”后面自动添加换行符
(自己在搞ROS系统的时候还有来查看路径信息:echo $ROS_PACKAGE_PATH)
6、source指令的使用
source指令也被称为点命令,等价于.(点)
是一个脚本执行指令,例如a.txt中含有脚本,如果想要执行这个脚本,就可以使用下面的指令:
source a.txt 或者 . a.txt (注意.和a.txt之间有空格)
source详细介绍请参考:http://blog.csdn.net/wangyangkobe/article/details/6595143和http://blog.csdn.net/violet_echo_0908/article/details/52056071
6、常用目录的表示
(1)./ 当前目录
(2)../ 上一级目录
(3)/ 根目录
(4) (空)用户目录,例如:cd