1.基础命令
(1)pwd:显示当前位置的绝对路径;
(2)cd:切换目录,cd的参数表示要切换的位置,可以使用绝对路径或者相对路径;
(3)ls:显示目录中的文件 (l a i)
ls补充:
理解使用:
-A 显现除 “.”和“..”外的一切文件。
-m 横向输出文件名,并以“,”作分格符。
-o 显现文件的除组信息外的具体信息。
-R 列出一切子目录下的文件。
-s 在每个文件名后输出该文件的大小。(ls -s ls -ls)
-a 列出目录下的一切文件,包含以 . 最初的隐含文件。//常用
-k 以 k 字节的方式表明文件的明细。
-i 输出文件的 i 节点的索引信息。
--color=no 不显现五颜六色文件名
--color 显现五颜六色文件名(不写也显现颜色,因为ls二进制程序带了颜色)
--help 在规范输出上显现协助信息。
(4)man:帮助手册,用来查看命令,系统调用,库函数等帮助信息
按q或Q退出帮助页面:
(1)代表命令 (2)代表系统调用 (3)代表函数
安装手册:apt install manpages-dev
方法一:sudo su exit
方法二:sudo apt install manpages-dev
(5)touch:创建普通文件(不存在则创建,存在则修改文件的属性信息:最后的修改时间)
(6)mkdir:创建目录文件(-p 递归创建)
(7)rmidr:删除空目录,不能删除非空目录
(8)cp:拷贝文件
拷贝普通文件的语法:cp 源文件的路径+文件名 目的路径
拷贝目录文件的语法:cp -r 源文件路径+文件名 目的路径(需要加-r)
拷贝+重命名的语法:cp 源文件路径+文件名 目的文件+新文件名
问题:cp -r 文件名(目录文件) tmp1执行两次会发生什么?为什么?
(9)mv:剪切(移动)文件
移动普通文件:mv 源文件的路径+文件名 目的路径
移动目录文件(不需要-r):mv 源文件的路径+文件名 目的路径
mv剪切并重命名的语法:mv 源文件的路径+文件名 目的路径+新文件名
(10)rm:删除文件(删除目录文件 加-r)
rmdir:删除空目录
rm -r:删除非空目录
sudo rm -rf /* (慎重,可以快照备份)
(11)find:查找
find 搜索路径 -name 文件名(按文件名搜索)
find 搜索路径 -cmin -n(搜索过去n分钟内修改的文件);
find 搜索路径 -ctime -n(搜索过去n天内修改的文件);
-usr 用户名
-group 组名
例如:find ~ -name *.c
(12)grep:过滤
在文件中过滤包含指定字符串的行;
ls /usr/bin|grep ps
不仅仅用于文件搜索.
(13)管道|
将前一个命令的输出结果作为后一个命令的输入
例1:touch test.o test.cpp twdoxj.ll testoo.x
ls
ls | grep test
例2:
ls /bin
ls /bin |grep sh
补充:grep参数:
-i 不区分大小写(例如:grep -i "hello" file.txt) 不写就是区分大小写
-c:统计满足要求的有几行(grep -c "hello" file.txt).
-n:统计结果的时候给出行号;
-v:统计不包含的,相当于取反;
也可以联合使用参数,例如:
grep -c -i "hello" file.txt;
grep不加引号直接过滤字符串 ;grep在进行模式匹配的时候必须加引号,单引号和双引号都可以 ;grep在引用变量的时候必须加双引号.
(14)wc:统计文件中
单词个数(-w) 字符个数(-c) 行数(-l)
(15)su
切换管理员的命令:sudo su 一定要退出exit
su + 用户名:红帽子也是切换用户
su:切换用户;
(16)关机与重启
shutdown -h now:立刻关机;
halt:关机
init 0;关机
shutdown -r now:重启
reboot:重启
init 6:重启
(17)runlevel
runlevle:查看系统的运行级别,可以用init动态切换0-6总共7个运行级别;
0:关机
1:单用户模式
2:多用户无网络服务
3.完全的多用户 文本界面
4.未定义或者自定义
5.图形化界面
6.重启;
(18)补充知识点
tab:自动补全
上下键:查阅执行过的命令
ctrl +shift+ + 调大窗口
ctrl - 调小窗口
ctrl+alt:释放鼠标
注意权限
history:查看终端的所有历史命令
2.文件查看命令
(1)cat
1)查看文件内容(内容较少时使用):cat 文件名
2)合并文件:cat 文件名1 文件名2> 文件名3
3)往文件中写入数据,(Ctrl+d结束输入);
(2)more
more 文件名
文件内容较多时用more(空格,回车往下翻,b回滚)
(3)less
less 文件名
看完内容之后不会显示到屏幕上;
(上下键,翻页键)
(4)head:
显示文件的前n行:head -num 文件名
默认显示10行
(5)tail
显示文件的后n行:head -num 文件名
默认显示后10行
面试题目:查看日志使用什么命令合适?
用tail
tail不仅可以查看日志文件,还可以实时显示文件数据;
tail -f 文件名
另一个窗口:cat >> 文件名
这样就可以看到实时文件数据;
3.文件编辑命令
1)vim
vim vi的升级版本.vi 文件名(vi方向键用不了)
vim 的官方网站 (welcome home : vim online) 自己也说 vim 是一个程序开发工具而不是文字处理软件。
2)安装vim
sudo apt install vim
如果出错了:apt update:刷新软件源;
出现"无法获得锁 之类的"sudo rm 文件名注意:删除多次
3)vim的三种模式
命令模式,插入模式(编辑模式),末行模式
默认进入命令行模式;
用户刚刚启动vi/vim,便进入了命令模式.此状态下敲击键盘会被vim识别为命令,而非输入字符
(1)命令模式转为插入模式:
a:进入到当前光标后开始编辑
A:进入到当前光标所在的行末开始编辑
i:进入到当前光标位置开始编辑
I:进入到当前光标所在行的开头开始编辑;
o:进入到当前光标下一行开始编辑
O:进入到当前光标上一行进行编辑;
(2)命令模式转成末行模式
:对文本的设置或者保存工作;
/ 对文本进行全文向下搜索字符串
?对文本进行全文向下搜索字符串
4)vim末行模式的常用命令
:w 保存文本
:q 退出编辑
:wq保存并退出
:q!不保存(强制退出)
:w (路径) 文件名 另存为 路径可省略,省略了为当前路径下;
:n 跳转到第n行
补充命令:
:set nu 显示行号
:set nonu 取消行号
:set hlsearch 设置高亮搜索
:set nohlsearch 取消高亮搜索
:n,m s/oldstring/newstring 替换从n行到m行的第一个oldstring(比如一行出现多个,那么只替换每一行的第一个)
:n,m s/oldstring/newstring/g 替换从n行到m行的所有oldstring
(是否区分大小写,自己试(区分))
/string 向下搜索?string向上搜索
拓展:可以随着使用自己拓展一些命令;
5)vim/vi命令行模式的常用命令:
n dd:删除光标开始向下的n行;
n yy:拷贝光标开始向下的n行;
p:粘贴;
u:撤销上一次操作
ctrl+r:恢复上一次撤销操作;
r:替换一个字符;
shift+6:光标移动到当前行的开头;
shift+4:光标移动到当前行的末尾;
shift+g:光标移动到文本的最后一行;
gg:光标移动到第一行;
n shift +g:光标移动到第n行;
d n shift +g:删除光标到n行的内容;
y n shitf+g:拷贝光标到n行的内容;
d G:删除从光标开始到末尾的内容
补充命令(了解):
命令模式下:
l:向右挪动光标;j:向下移动光标k:向上移动光标;h:向左移动光标;
6)更改vim配置文件
配置文件是为一些计算机程序配置参数和初始值的设置;
更改vim配置文件方法:
用管理员的身份打开配置文件vimrc,
sudo vim /etc/vim/vimrc
然后将如下的配置选项写入到该文件中末尾:
set nuset tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtabset smartindent
7).补充知识点(了解):
1.Vmware tools和共享文件夹(Linux和Windows进行数据传递的方法)
2.swap文件;(ls -a看看是否有此隐藏的交换文件)
拓展扩充知识点: