Linux常用命令
一、文件和目录
1.cd命令
用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。
cd /home -进入 '/ home' 目录
cd .. -返回上一级目录
cd ../.. -返回上两级目录
cd -进入个人的主目录
cd ~user1 -进入个人的主目录
cd - -返回上次所在的目录
2.pwd命令
用于显示工作路径。
实例:
[root@test ~]# pwd
/root
3.ls命令
list的缩写,不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
ls -查看目录中的文件
ls -a -列出全部文件,包含隐藏文件
ls -l -显示文件和目录的详细资料
ls -t -以文件修改时间排序
ls -r -反序排列
ls -R -连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
3.mkdir命令
用于创建文件夹。
-m: 对新建目录设置存取权限,也可以用chmod命令设置。
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不在的目录,即一次可以建立多个目录。
实例:
-当前工作目录下创建名为test的文件夹
mkdir test
-在tmp目录下创建路径为test/t的目录,若不存在,则创建
mkdir -p /tmp/test/t
4.rm命令
remove的意思,用于删除文件或目录。
-f: 就是force的意思,忽略不存在的文件,不会出现警告消息
-i: 互动模式,在删除前会询问用户是否操作
-r: 递归删除,最常用于目录删除,它是一个非常危险的参数
实例:
-强制删除当前目录下test.log文件
rm -f test.log
-强制删除当前目录下的test文件夹及里头所有文件
rm -rf test
5.mv命令
move的意思,移动或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
-f: force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i: 若目标文件已经存在,就会询问是否覆盖
-u: 若目标文件已经存在,且比目标文件新,才会更新
实例:
-将文件test.log改名为log.txt,如果log.txt已经存在,则询问是否覆盖
mv test.log log.txt
-将文件test.log改名为log.txt,存在则覆盖
mv -f test.log log.txt
-将test1.log、test2.log移动到/home/test目录下(注意是绝对路径,否则默认从根目录开始识别)
mv test1.log test2.log /home/test
-将test.log文件移动到根目录下的test文件内;若根目录下没有test文件夹则:test.log会被移动到根目录并重命名为test
mv test.log /test
-移动当前文件夹下的所有文件到上一级目录
mv * ../
6.cp命令
copy的意思,将源文件或目录复制到目标文件或目录中。
-i 提示
-f 复制并强制覆盖原文件
-r 复制目录及目录内所有项目
实例:
-将文件test.log复制到/home/test文件夹下
cp test.log /home/test
-将test.log文件复制到/home/test文件夹下并重命名为test1.log
cp test.log /home/test/test1.log
-将文件test.log的内容覆盖log.txt的内容
cp test.log log.txt
-将目录/home/test下的所有文件及其子目录复制到目录/usr/test中
cp -r /home/test /usr/test
二、查看与编辑文件
7.cat命令
用于查看、创建、合并文本文件的内容。
#常用参数
-b 对非空输出行号
-n 输出所有行号
实例:
-带行号显示整个文件内容
cat -n filename
-从键盘创建一个文件,不能编辑
cat > filename.txt
#步骤
1、键入cat > filename.txt后回车
2、录入文本内容(只会保存有效字符)
3、键入回车
4、在键盘上按下Ctrl+D (或者键入Control-D)
-将几个文件合并为一个文件(源文件任存在,合并后file的内容为file1+file2)
cat file1 file2 > file
'-------------------------------
tac命令: tac filename
从最后一行开始反向查看一个文件的内容
-------------------------------'
8.head与tail命令 ☆
head: 用于显示指定文件开头内容,默认前10 行。
tail: 用于显示指定文件末尾内容,默认后10行。
head、tail经常与cat命令组合,用于查看日志文件。
#常用参数
-n 显示的行数
-f 跟踪显示的文件的增长情况(实时查看日志)
-查看一个文件的前五行
head -n 5 file1
-查看一个文件的最后五行
tail -n 5 file1
-从1000行开始显示,显示1000行以后的所有内容
tail -n +1000 filename
-从日志文件中寻找报错信息行号
cat -n filename.log |grep "ORA-01722: invalid number"
-从第3000行开始,显示之后1000行(即显示3000~3999行)
cat filename |tail -n +3000 |head -n 1000
-显示1000行到3000行
cat filename |head -n 3000 |tail -n +1000
9.more与less命令
功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
+n 从笫 n 行开始显示
-n 定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串“pattern”,然后从该字串前两行之后开始显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
实例:
-显示文件中从第5行起的内容
more +5 text.txt
-向下搜索“valiFlag”
less +/valiFlag text.txt
总结:
more – 传统且基础的分页阅读工具,仅支持向下翻页和有限次数的向上翻页。
less – 比 more 功能丰富,支持向下翻页和向上翻页,也支持文本搜索。在打开大文件的时候,比 vi 这类文本编辑器启动得更快。
更多关于more、less可以查看官方手册,也可以参考:https://www.jb51.net/article/151097.htm
10.vim命令 ☆
#步骤
1、vim filename.txt 编辑filename.txt文件,若不存在则创建(需要保存)
2、按下 i 进入编辑(窗体下方会出现 -- 插入 --)方向键控制光标位置
3、键入编辑内容
4、完成编辑后,按下ESC,(窗体下方的 -- 插入 -- 消失)
5.保存编辑的文件,并且退出vim编辑,输入 :wq 命令,按回车键
(没有进行修改,不需要保存直接退出,输入 :q 命令)
4.常用命令备注
保存,不退出vi --------------------------------------- :w
强制保存,不退出vi ----------------------------------- :w!
将修改另外保存到file中,但不退出vi(不常用)------------- :w file
保存,并退出vi ------------------------------------- :wq 或 :x
强制保存,并退出vi ---------------------------------- :wq!
不保存,并退出vi ------------------------------------- :q
不保存,并强制退出vi ----------------------------------:q!
放弃所有修改,从上次保存文件开始再编辑 -------------------:e!
三、文件搜索
11.find命令
用于搜索系统文件。
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
四、文件权限
12.chmod 命令
用于改变 linux 系统文件或目录的访问权限。
两种用法:
1.包含字母和操作符表达式的文字设定法;
2.包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。可使用 ls -l test.txt 查找。
以文件 log2020.log 为例:
-rw-r--r-- 1 root root 12 10月 13 03:13 log2020.log
第一列共有 10 个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。
如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
从第二个字符开始到第十个9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。
权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
语法:
chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名
权限范围:
u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限
操作符号:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)