一、简述 记录简单的Linux 基础操作、常用shell命令、vi编辑器常用命令、man帮助手册的使用。 二、Linux 基础操作 1、按 Ctrl+Alt+t 快捷键或者双击桌面的“Terminal”调出伪终端(命令行窗口)。 超级终端: Ctrl+Alt+F6: tty6 Ctrl+Alt+F5 tty5 Ctrl+Alt+F4 主机与虚拟机的共享路径
Ctrl+Alt+F3 tty3 Ctrl+Alt+F1 返回正常使用的界面 2、Liang@ubuntu:~$ ls Liang:用户名; ubuntu:主机名; ~:家目录(当前登录用户的主目录),/home/Liang $:命令提示符(一个标志) ls:以列表方式罗列出当前目录的文件 3、使虚拟机获取鼠标:Ctrl+G;使宿主计算机获取鼠标:Ctrl+Alt 4、列出当前目录的所有文件信息 ls -la 。-l 选项是以详细的列表方式罗列;-a选项是表示所有文件(all),即包括隐藏文件。 5、在终端窗口,按Ctrl+C 强行停止当前正在执行的命令或程序。 6、关机命令:在终端窗口,输入命令:poweroff 三、shell命令介绍 常用文件操作:1、编辑文件 vi 文件名 (或者说是新建文件并用vi编辑)2、复制文件 cp a文件 b文件 (将a文件复制一份,b就是复制文件(副本)。(两个文件都在当前路径,可以分别指定路径)3、复制文件目录 cp a目录 b目录 -r 将a目录(包含里面的全部文件)内容 复制到b目录下,(-r 递归复制)4、新建文件 touch 文件名 (文件不存在就新建,存在就更新新建的最新修改时间)5、移动文件 mv a文件 b目录 (将a文件移动到b目录下)6、重命名文件 mv a文件 b文件 (将a文件命名为b文件,注:都是在当前路径下)7、删除文件 rm a文件 (删除a文件)8、删除文件目录 rm a目录 -r (删除a目录,包括里面的文件)
补充说明: (1)ls命令:ls 罗列当前目录的所有文件 可直接指定目录(路径) ls 路径 ls -l 以更加详细的方式罗列当前目录的所有文件 可直接指定目录(路径) ls -l 路径 (2)clear命令:实际上clear命令只是上拉屏幕,并没有清屏。自己实现一个类似windos的清屏命令:cls 在/usr/bin/目录下。使用root用户,新建一个名为cls的文件,加上执行权限,写入如入内容: #/bin/bashprintf "\033c" 注:普通用户切换到root用户,输入命令 sudo -s,然后回车,输入密码(密码不回显)。然后直接 vi cls,编辑内容,保存退出。添加权限命令:chmod 777 cls 。退出root状态,返回之前用户状态,输入命令:exit。然后就可以使用cls作为清屏命令了。 (3)tree 命令,罗列目录的文件结构,后面可以跟一个目录(路径),默认是当前目录路径。 如果目录文件太多,可带参数执行,比如说根目录有非常多的文件,可使用命令 tree / -d -L 1 (-d List directories only。
(4)mount命令。挂载硬盘、U盘,或远程共享目录等。 举例挂载U盘: a)查找刚识别出的U盘分区:sudo fdisk -l (这是查看当前系统已识别的分区,比如说识别到的U盘分区为:/dev/sdb ) b)将U盘分区挂载到/mnt目录下:sudo mount /dev/sdb /mnt (之前的/mnt文件会被掩盖,直到卸载U盘分区) c)卸载U盘分区:sudo umount /mnt 查看设备挂在路径信息:df -h (5)more命令:分屏(分页)显示信息,比如需要查看的一个文件内容比较大,而又不想打开时,可使用命令more test.txt进行分页浏览。按空格或者回车向下翻页,按b向上翻,按q退出。 (6)<、>重定向:比如命令ps -ef >1.txt ,将命令ps -efd的输出内容输出到1.txt文件(不存在的话会创建,已存在则覆盖); 使用>>:ps -ef >>1.txt (将命令ps -efd的输出内容追加到1.txt文件)。清空1.txt文件可以使用:> 1.txt 命令。< 重定向输入。 (7)mkdir命令,如果需要创建多级目录,添加-p选项。比如创建 a/b/c 这种连续空目录,使用命令:mkdir a/b/c -p
(8) tar命令,压缩文件。 a)压缩为.tar文件 tar -cxf test.tar a.txt b.txt (将a.txt和b.txt压缩为test.tar)b)解压.tar格式的压缩包 tar xvf test.tar (解压test.tar文件到当前路径)c)解压.tar格式的压缩包到指定路径 tar xvf test.tar -C /tmp (解压test.tar文件到/tmp) 命令选项: -c 创建压缩文件 -x 释放压缩文件(解压缩) -f 指定要压缩后解压缩的文件名 -v 显示命令执行的过程 (比如当前压缩到哪个文件等等信息) -z 使用gzip压缩工具进行压缩、解压缩,文件后缀是.gz -j 使用bzip2压缩工具进行压缩、解压缩,文件后缀是.bz2 a)压缩成.gz格式的压缩包tar -czvf test.tar.gz a.txt b.txt (将a.txt和b.txt压缩为test.tar.gz)b)解压.gz格式的压缩包tar -xzvf test.tar.gz (将test.tar.gz压缩包解压到当前路径)tar -xzvf test.tar.gz -C /tmp (将test.tar.gz压缩包解压到/tmp)c)压缩成.bz2格式的压缩包tar -cjvf test.tar.bz2 a.txt b.txt (将a.txt和b.txt压缩为test.tar.bz2)d)解压.bz2格式的压缩包tar -xjvf test.tar.bz2 (将test.tar.bz2压缩包解压到当前路径)tar -xjvf test.tar.bz2 -C /tmp (将test.tar.bz2压缩包解压到/tmp) (9)wc命令,计算文件的行数(l)、单词数(w)、字符数(c)。
(10)which命令 ,例如which ls,表示查看ls命令所在路径,其实ls命令就是一个可执行文件。 (11)diff命令:比较两个文件的异同。例如:diff file1 file2,比较file1与file2的异同并输出。可以使用此命令产生补丁 例如:diff dir1/ dir2/ > -urNB dir.patch (比较dir1目录的所有文件与dir2的异同并输出为dir.patch补丁) 打补丁使用命令:patch -p1 < 补丁文件的路径 (需要进入到要打补丁的路径,比如 patch -p1< ../dir.patch 需要进入到dir1目录,打完补丁之后,dir1的内容就与dir2的内容相同。) (12)find命令,find 命令会递归地查找你所执行的目录下的所有子目录。find 命令除了可以按照文件的名字来查找,还可以按文件的权限、文件的类型、文件的索 引节点编号等等来查找。 比如按名字找,find 路径 -name "文件名" 。例如要在./Desktop/code/中查找所有以.c 结尾的文件。
(13)grep命令,用来在文件中查找字符串。命令格式:grep 寻找的内容 寻找的路径 -参数 例如要在 hello.c 中查找字符串”hello”
grep 常用的选项: -r:如果有子目录,则递归地查找。 -w:严格匹配指定的单词(比如指定查找”apple”,”appletree”将被剔除) -n:打印行号 -H:打印文件名 例如,递归地在/project/src 下查找所有包含单词”hello”的.c 文件,并打印出含有该单词的 文件名称和该单词在文件中的行号,命令是:Liang@ubuntu:~$ grep “hello” /project/src/*.c -rwnH 查找某一类文件,再在这些文件中查找我们需要的字符串或者单词,可以将 find 和 grep 命令通过管道'|’连接起来一起用,实现更加强大的功能,比如: 要在/project/src 的所有普通文件中查找单词”hello”,要求剔除像”helloworld”这样的单词: Liang@ubuntu:~$ find /project/src -type f | xargs grep “hello” -wnH xargs 代表 find 的输出作为 grep 的参数(否则 grep 只会在 find 找出来的文件列表名称 中查找”hello”,而不会进入文件内部查找)。 (14)date命令,不带参数显示当前日期/时间。 设置时间日期/时间(需要超级权限) 设置时间命令:sudo date -s "20180723 19:00" (设置时间为2018年7月23日19:00时)
格式化输出:date "+%Y-%m-%d %H:%M:%S" (年月日时分秒)
(15)cal命令,显示日历
(16)head命令,显示文件前几行内容
(17) tail命令,显示文件最后几行
注:可以使用tail -f xxx.log 来查看log文件的新内容 (当xxx.log日志有新的数据时,tail会显示新的数据) 四、vi常用命令 vi编辑器的键盘输入分成两种情况,一种情况下你的输入就是你编辑的文 档,另一种情况下你的输入是你要编辑器帮你完成的动作。简而言之,vim 需要两个操作模 式:一个模式下键入的信息,作为文本本身的内容,称之为编辑模式. 一个模式下键入的信息,作为执行的动作,称之为命令模式。刚一启动的 vim 编辑器自动进入命令模式,此模式下键入一个命令对应 vim 一个动作, 比如进入编辑模式、保存文本、复制黏贴、查找替换等等;在命令模式下再按下i按键,进入编辑模式。再编辑模式下,按Esc按键退出编辑模式,进入命令模式。
常用vi操作:1、进入编辑模式: 按i2、进入命令模式: 按Esc3、保存文件命令 :w4、退出编辑命令 :q5、保存并退出命令 :wq6、复制行命令 yy7、剪切行命令 dd (或者说是删除效果)8、粘贴命令 p9、撤销命令 u10、反撤销命令 Ctrl+r11、查找命令 /str (str是要查找的字符串)12、替换命令 :%s/old/new (将文件中所有的 old 字符串替换成 new)13、去到到文件开头 gg14、去到文件末尾 G15、去到行首 ^16、去到行尾 $17、剪切从光标处(含)开始到该行行末的所有字符 d$18、剪切从光标处(不含)开始到该行行首的所有字符 d^19、复制从光标处(含)开始到该行行末的所有字符 y$20、复制从光标处(不含)开始到该行行首的所有字符 y^21、区块选择复制: 复制方式1:鼠标选中,按y复制,p粘贴。 复制方式2:按v键,进入Visual状态,按上下左右方向键进行区域选择(从当前光标处(含)开始),按y复制,p粘贴。22、区块选择剪切 (删除效果): 剪切方式1:鼠标选中,按y剪切(或者按Delete键),p粘贴。 剪切方式2:按v键,进入Visual状态,按上下左右方向键进行区域选择(从当前光标处(含)开始),按d复制(或者按Delete键),p粘贴。23、将一个文件中的内容复制到另外一个文件 例如将a文件中的一部分内容复制到b文件中a)打开终端 cat a文件 (显示a文件的内容,然后可以选择、右键复制(copy))b)用vi打开要粘贴到的文件 vi b文件c)右键粘贴(paste)24、命令行模式下:ZZ 保存并退出25、全选,在命令行模式,按ggvG (其中gg是回到开头,v是进入visual模式,相当于区块选择,大写G是到文章末尾,ggvG结合起来就是从开头选到结尾) (或者是在终端cat出来再进行右键复制) 补充: (1)【命令行模式】设置vi显示行号、自动缩进等,命令行模式下:set option (选项前加no 等于禁止) 选项: number 显示行号 ruler 屏幕底部显示光标所在行、列的位置 autoindent 自动缩进 all 列出所有选项 比如set number 设置侧边显示行号。set nonumber 设置为不显示行号 上面的设置方法仅仅在当前编辑的文档生效。全局生效需要设置vi的配置文件。所有用户的vim配置文件/etc/vim/vimrc,对某个用户的vim配置文件/home/用户名/.vimrc。 例如设置当前用户的配置文件,(若是还没有的话就创建)
set backspace=2 可随时用退格键进行删除 set mouse=a 允许鼠标移动光标” (我们习惯鼠标点到哪,哪就可以编辑的,但是有vi默认光标是通过方向键移动的) syntax on 语法检验,关键字着色 set tabstop=4 设置tab键的宽度 配置所有用户则需要修改文件/etc/vim/vimsrc (需要超级权限) 例如默认显示行号、自动缩进、允许鼠标移动光标
(2)【命令行模式】Ctrl+v 方形选择,(类似与notepad++上的按着Shift+Alt键进行鼠标选择)
(3)【编辑模式】Ctrl+n 自动补全 例如键入pri,然后按Ctrl+n,就会补上ntf。 五、man帮助手册 1、man 命令帮助我们查找需要的信息,而这些信息被归类为以下几大类别(详细的信息 可以用 man 命令查询自己): Liang@ubuntu:~$ man man1 Shell 命令(默认已安装)2 系统调用3 库函数4 特殊文件(通常出现在/dev 目录下)5 文件的特殊格式或协定(例如/etc/passwd 的格式)6 游戏7 杂项(例如一些宏定义)8 系统管理员命令(通常只能由管理员执行)9 非标准内核例程 2、有了完整 man 手册之后就可以查找想要的信息了,比如想要找关于 read 的用法和说明 的信息。 Liang@ubuntu:~$ man -f readread (2) - read from a file descriptorread (1posix)- read a line from standard input read (3posix) - read from a file 其中,read (1posix)提供的是 Shell 命令帮助信息,read (2)提供的是系统调用,read (3posix)提供的是库函数等等,假如你想要的是库函数 read 的帮助信息,输入命令:man 3posix read(或者简写为man 3 read) |
|
来自: 任易x9cojw24ff > 《大数据开发》