一。目录
在Linux中有两个特殊的符号可以表示目录:
‘.’表示当前目录
‘..’表示当前目录的上一级目录
'../..'表示上两级目录
根目录是/,是树状形式目录的根,只有一个。
主目录是~,用户的HOME目录,添加用户的时候指定的。对于不同用户,主目录不同。~/zhuyaqian
二。mv 移动或者重命名文件/文件夹
linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.
mv 源文件夹 目标文件夹
源文件夹与目标文件夹都带路径 就不受当前目录的限制
源文件夹不带路径 源文件夹必须在当前目录下
目标文件夹不带路径 目标文件夹必须在当前目录下,总之 文件夹不带路径,就必须在当前路径下操作
mv aa ../ 移动aa文件夹到上一级目录
移动多个文件夹 mv aa bb cc ../
命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
三。cp 复制
cp -r 源文件 目标文件夹 (文件要加r,表示递归文件夹下的所有文件)
cp 源文件夹 目标文件夹
cp aa bb aa文件复制到bb文件夹下
cp aa bb/cc aa文件复制到bb文件夹下,并重新命名为cc
新建文件夹 mkdir
mkdir 1 新建一个文件夹1
mkdir 2 3 4 新建多个文件夹234
mkdir /Users/zhuyaqian/Desktop/movie/5 新建带路径的文件夹
mkdir [-p] dirName
参数说明:-p 确保目录名称存在,不存在的就建一个。
实例
在工作目录下,建立一个名为 runoob 的子目录 :
mkdir runoob
在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。
若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)
mkdir -p runoob2/test
删除文件和文件夹
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思
删除文件夹实例:
rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
删除文件使用实例:
rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件
命令历史
history
查找文本内容:Grep 是 Global Regular Expression Print 的缩写,功能是在文本中查找内容
grep 在文本中查找内容,是Linux中使用频率最高的文本查找命令。作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。
主要功能在一个或者多个文件中查找特定模式的字符串。如果该行有匹配的字符串,则输出整个行的内容。如果没有匹配的内容,则不输出任何内容。grep命令不改动源文件,只负责查找并打印出来。
Linux的grep家族包括grep、egrep、fgrep、rgrep。grep可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。
grep命令的常用格式为:grep [参数] ‘模式’ [文件]
grep 'hello world' 1.ini 单个文件中匹配要查找的字符串
grep 'hello world' 1.ini 2.ini 3.ini 多个文件中匹配要查找的字符串
find:在目录下查找文件
find 在什么目录下 用什么方式 查找什么文件
find . -name *.png 在当前目录下 要写.
find / -name *.png 在根目录下 要写/
which与whereis
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
which python
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis grep
cat/head/tail查看日志,与grep结合使用
cat查看固定内容,且内容少的文件
cat filename
head 头 表示从头部开始查看起
head -n 100 filename 查看前100行
tail 尾巴 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件,表示循环查看
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。(默认显示10行)
tail -n 100 a.log |grep 'cccc' 查看最后100条数据,过滤出包含‘cccc'的这一行,最后输出的只有一行数据
tail -n +100 a.log 从第一百行开始查看,直到末尾
control+z 中止查询
vi/vim编辑器
vi/vim编辑器:linux系统提供的文本编辑工具,用来编辑文本文件。
vim是vi的增强版本,增加了部分命令。
tar命令
tar是打包程序,可用来备份文件,打的包要以.tar结尾。tar本身不具有压缩功能。他是调用压缩功能实现的 这个命令可以在打包的同时调用gzip或者bzip2进行压缩.
gzip bzip2 都是压缩程序,区别是:gzip的速度快一些,而bzip2要压得狠一些。
一般以.tar.gz结尾的是用gzip压缩的,而.tar.bz2结尾的是用bzip2压缩的
tar 命令默认是采用相对路径来进行压缩打包的。使用绝对路径会报错的。
[root@haha ~]#tar -czf /root/ss3.tat.gz /root/ss2
tar: Removing leading `/' from member names
我们需要使用参数 -P(大写)来允许我们使用绝对路径进行压缩打包。
我们一般是将 f 参数放到最后,-f 参数后面接上文件名 , 将 P 放在 f前即可。
注意网上有些文档是 将 -P参数加在 f 参数后面 ,那么这样是会报错的。
tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar调用gzip
tar -czf all.tar.gz *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz
tar -cjf all.tar.bz2 *.jpg
这条命令是将所有.jpg的文件打成一个tar包,并且调用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2
tar -cjf all.tar.bz2 1.png 2.png
这条命令是将多个png打包并压缩
ls
ls命令是Linux中最常用的命令之一。ls是list的缩写
-a, --all
do not ignore entries starting with .(列出目录下的所有文件,包括以.开头的隐含文件)
-l use a long listing format(使用长格式,即列出文件详细信息)
ls *tar* 列出目录下中间是tar的文件
linux中管道符“|”的作用
命令格式:命令A|命令B,即命令A的正确输出作为命令B的操作对象
ps -ef|grep java
vim编辑器
vim filename 进入vim编辑器
进入vim 编辑文件时,默认处于正常模式。
在此模式下,可以使用上、下、左、右键进行光标移动,还可以对文件内容进行复制、粘贴、删除、定位光标等操作。
yy 复制整行内容 copy
yw 复制当前光标到单词尾内容 copy word
p 粘贴 paste
dd 删除光标所在行 delete
dw 删除一个单词 delete word
x 删除光标所在字符
u 撤销上一次操作
ctrl + r 撤销
gg 定位光标到文件第一行的开头
Shift + g 定位光标到到文件最后一行的开头
数字0 定位光标到所在行的行首
$ 定位光标到所在行的行尾
输入模式:
在输入模式下可以对文件执行写操作,类似在 Windows 的文档中输入内容。
进入输入模式的方法是输入 i、a、o 等插入命令,编写完成后按 Esc 键即可返回命令模式。
i 从光标所在位置前面开始插入
a 从光标所在位置后面开始输入
o 在光标所在行下方新增一行并进入输入模式
命令模式:
如果要保存、查找或者替换一些内容等,就需要进入编辑模式。
编辑模式的进入方法为:在正常模式下按":"键,Vim 窗口的左下方会出现一个":"符号,这时就可以输入相关的指令进行操作了。指令执行后会自动返回正常模式。
查找:比如搜索user, 输入 :/user,按下回车之后,可以看到vim已经把光标移动到该字符处和高亮了匹配的字符串,n是往下查找匹配字符串,N是往上查找匹配字符串
替换:vim 中可用 :s 命令来替换字符串,具体如下: :s/str1/str2/ 替换当前行第一个 str1 为 str2 :s/str1/str2/g 替换当前行中所有 str1 为 str2
保存:
:wq 保存退出
:q 不保存直接退出
:q! 不保存强制退出
:wq! 保存强制退出
用户切换
su - root 切换到root用户
su - zhuyaqian 切换到普通用户
注意‘-’ 不能少,并且要留有空格 少了就显示的bash和sh的模式,有‘-’显示的是root和普通用户名的模式
whoami 显示的是当前用户(包括切换后的) (注意who/who am i显示的是当前登陆用户,切换后的用户不显示)
clear 清空当前窗口,注意只是清空当前窗口
ctrl+z 中止命令进程,注意不是command+z