- A+
所属分类:linux技术
1、Linux常用命令
1.1、Linux命令初体验
-
在日常使用过程当中经常使用到的命令有如下几种
-
命令 对应英文 作用 ls [目录名] list 查看当前目录下的内容 pwd print work directory 查看当前所在目录 cd [目录名] change directory 切换目录 touch [文件名] touch 如果文件不存在,创建文件 mkdir [目录名] make directory 创建目录 rm [文件名] remove 删除指定文件
-
-
Linux命令使用技巧
- ①、Tab键自动补全
- ②、 连续两次Tab键,给出操作提示
- ③、使用上下箭头快速调出曾经使用过的命令
- ④、使用clear命令或者Ctrl+l快捷键实现清屏
-
command [-options][parameter]
- 说明:
command
- 命令名
[-options]
- 选项,可用来对命令进行控制,也可以省略
[parameter]
- 传给命令的参数,可以是零个、一个或者多个
- 注意:
[]
代表可选- 命令名、选项、参数之间有空格进行分隔
- 说明:
1.2、文件目录操作命令
1.2.1、ls
-
命令说明
-
作用
- 显示指定目录下的所有内容
-
语法
ls [-al][dir]
-
说明:
-a
- 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l
- 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
-
注意:
- 由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即
ll
- 由于我们使用ls命令时经常需要加入-l选项,所以Linux为ls -l命令提供了一种简写方式,即
-
常见用法:
ls -al
- 查看当前目录的所有文件及目录详细信息
ls -al /etc
- 查看/etc目录下所有文件及目录详细信息
ll
- 查看当前目录文件及目录的详细信息
-
-
操作示例
ls -al
ls -al /etc
ll(ls -l)
1.2.2、cd
-
命令说明
-
作用: 用于切换当前工作目录,即进入指定目录
-
语法:
cd [dirName]
-
特殊说明:
~
- 表示用户的主目录,超级管理员的用户的主目录root
.
- 表示目前所在的目录
..
- 表示目前目录位置的上级目录
-
举例:
cd ..
- 切换到当前目录的上级目录
cd ~
- 切换到用户的home目录
cd /usr/local
- 切换到/usr/local目录
-
PS:
- 用户的home目录
- root用户 /root
- 其他用户/home/xxx
- 用户的home目录
-
-
操作示例
-
cd ..
- 切换到当前目录位置的上级目录; 可以通过
cd ../..
来切换到上级目录的上级目录
- 切换到当前目录位置的上级目录; 可以通过
1.2.3、cat
- 命令介绍
- 作用
- 用于显示文件内容
- 语法
cat [-n] fileName
- 说明:
-n
- 由1开始对所有输出的行数编号
- 举例:
cat /etc/profile
- 查看/etc目录下的profile文件内容
- 作用
- 操作实例
- cat 指令会一次性查看文件的所有内容,如果文件内容比较多,这个时候查看起来就不是很方便了,这个时候我们可以通过一个新的指令more
1.2.4、more
-
命令介绍
-
作用: 以分页的形式显示文件内容
-
语法:
more fileName
-
操作说明:
回车键
- 向下滚动一行
空格键
- 向下滚动一屏
b
- 返回上一屏
q或者Ctrl+C
- 退出more
-
举例:
more /etc/profile
- 以分页方式显示/etc目录下的profile文件内容
-
-
操作实例
-
less命令扩展
- Less命令用法与more非常类似,只不过比more多了可以使用上下方向键。
- 示例
-
当我们在查看一些比较大的文件时,我们可能需要经常查询文件尾部的数据信息,那这个时候如果文件很大,我们要一直向下翻页,直到最后一页,去看最新添加的数据,这种方式就比较繁琐了,此时,我们可以借助于tail指令
1.2.5、tail
-
命令介绍
-
作用
- 查看文件末尾的内容
-
语法
tail [-f] fileName
-
说明:
-f
: 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
-
举例:
tail /etc/profile
- 显示/etc目录下的profile文件末尾10行的内容
tail -20 /etc/profile
- 显示/etc目录下的profile文件末尾20行的内容
tail -f /test/my.log
- 动态读取/test目录下的my.log文件末尾内容并显示
-
-
操作示例
- 显示/etc目录下的profile文件末尾10行的内容
- 显示/etc目录下的profile文件末尾20行的内容
- 动态读取/test目录下的my.log文件末尾内容并显示
- 显示/etc目录下的profile文件末尾10行的内容
-
在窗口1中执行指令
tail -f testApplication.java
动态查看文件尾部的数据。然后在顶部的标签中右键选择 "复制标签",打开新的窗口2 , 此时再新打开的窗口2中执行指令echo "赞美之词">> testApplication.java
, 往1.txt文件尾部追加内容,然后我们就可以在窗口1中看到最新的文件尾部的数据。如果我们不想查看文件尾部的数据了,可以直接使用快捷键 Ctrl+C , 结束当前进程。
1.2.6、mkdir
- 命令介绍
- 作用:
- 创建目录
- 语法
mkdir [-p] dirName
- 说明:
-p
- 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
- 举例:
mkdir test
- 在当前目录下,建立一个名为test 的子目录
mkdir -p test/innerTest
- 在工作目录下的test目录中建立一个名为innerTest 的子目录,若test目录不存在,则建立一个
- 作用:
- 操作示例
- 在工作目录下的test目录中建立一个名为innerTest 的子目录,若test目录不存在,则建立一个
- 在工作目录下的test目录中建立一个名为innerTest 的子目录,若test目录不存在,则建立一个
1.2.7、rmdir
-
命令介绍
-
作用
- 删除空目录
-
语法
rmdir [-p] dirName
-
说明:
-p
- 当子目录被删除后使父目录为空目录的话,则一并删除
-
举例:
rmdir test
- 删除名为test的空目录
rmdir -p test/innerTest
- 删除test目录中名为innerTest的子目录,若innerTest目录删除后test目录变为空目录,则也被删除
rmdir test*
- 删除名称以test开始的空目录
-
-
操作示例
- 删除名为test的空目录
- 删除test目录中名为innerTest的子目录,若innerTest目录删除后test目录变为空目录,则也被删除
- 删除名称以test开始的空目录
- 删除名为test的空目录
1.2.8、rm
-
命令介绍
-
作用:
- 删除文件或者目录
-
语法
rm [-rf] name
-
说明
-r
- 将目录及目录中所有文件(目录)逐一删除,即递归删除
-f
- 无需确认,直接删除
-
举例:
rm -r test/
- 删除名为test的目录和目录中所有文件,删除前需确认
rm -rf test/
- 无需确认,直接删除名为test的目录和目录中所有文件
rm -f hello.txt
- 无需确认,直接删除hello.txt文件
-
-
操作示例
- 删除名为test的目录和目录中所有文件,删除前需确认
- 无需确认,直接删除名为test的目录和目录中所有文件
- 无需确认,直接删除hello.txt文件
- 删除名为test的目录和目录中所有文件,删除前需确认
1.3、拷贝移动命令
1.3.1、cp
- 命令介绍
- 作用
- 用于复制文件或目录
- 语法
cp [-r] source dest
- 说明
-r
- 如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件
- 举例
cp hello.txt test/
- 将hello.txt复制到test目录中
cp hello.txt ./hi.txt
- 将hello.txt复制到当前目录,并改名为hi.txt
cp -r test02/ ./innerTest/
- 将test02目录和目录下所有文件复制到innerTest目录下
cp -r test02/* ./innerTest/
- 将test02目录下所有文件复制到innerTest目录下
- 作用
- 操作示例
- 将hello.txt复制到test目录中
- 将hello.txt复制到当前目录,并改名为hi.txt
- 将test02目录和目录下所有文件复制到innerTest目录下
- 将test02目录下所有文件复制到innerTest目录下
- 将hello.txt复制到test目录中
1.3.2、mv
- 命令介绍
- 作用
- 剪切,重命名(如果在同一个路径操作就是重命名,否则就是剪切)
- 语法
mv source dest
- 举例
mv hello.txt hi.txt
- 将hello.txt改名为hi.txt
mv hi.txt test/
- 将文件hi.txt移动到test目录中
mv hi.txt test/hello.txt
- 将hi.txt移动到test目录中,并改名为hello.txt
mv test01/ test02/
- 如果test01目录不存在,将test01目录改名为test02
mv test01/ test02/
- 如果test02目录存在,将test01目录移动到test02目录中
- 作用
- 操作示例
- 将hello.txt改名为hi.txt
- 将文件hi.txt移动到test目录中(剪切)
- 将hi.txt移动到test目录中,并改名为hello.txt
- 如果test02目录不存在,将test01目录改名为test02
- 如果test02目录存在,将test01目录移动到test02目录中
- 将hello.txt改名为hi.txt
1.4、打包压缩命令
- 命令介绍
- 作用
- 对文件进行打包、解包、压缩、解压
- 语法
tar [-zcxvf] fileName [files]
- 包文件后缀为
.tar
表示只是完成了打包,并没有压缩(归档文件)
包文件后缀为.tar.gz
表示打包的同时还进行了压缩
- 说明
-z
- z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压 tar.gz
-c
- c代表的是create,即创建新的打包文件 tar
-x
- x代表的是extract,实现从包文件中还原文件
-v
- v代表的是verbose,显示命令的执行过程
-f
- f代表的是file,用于指定包文件的名称
- 举例
- 打包
tar -cvf hello.tar ./*
- 将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./*
- 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
- 解包
tar -xvf hello.tar
- 将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz
- 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local
- 将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
- 打包
- 作用
- 操作示例
- 将当前目录下所有文件打包,打包后的文件名为hello.tar
- 将当前目录下所有文件打包并压缩,打包后的文件名为hi.tar.gz
- 将hello.tar文件进行解包,并将解包后的文件放在当前目录
- 将hi.tar.gz文件进行解压,并将解压后的文件放在当前目录
- 将hi.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
- 将当前目录下所有文件打包,打包后的文件名为hello.tar
1.5、文本编辑命令
-
命令介绍
-
作用
- 对文件内容进行编辑,vim其实就是一个文本编辑器
-
语法
vim fileName
-
说明
- ①、 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件
- ②、vim在进行文本编辑时共分为三种模式,分别是 命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。我们在使用vim时一定要注意我们当前所处的是哪种模式
-
命令模式(不可编辑内容)
-
命令模式下可以查看文件内容、搜索文本内容.按下
/
输入搜索内容即可. -
命令模式指令 含义 gg 定位到文本内容的第一行 G 定位到文本内容的最后一行 dd 删除光标所在行的数据 ndd 删除当前光标所在行及之后的n行数据 u 撤销操作 shift+zz 保存并退出 i 或 a 或 o 进入插入模式
-
-
插入模式
- A. 插入模式下可以对文件内容进行编辑
- B. 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现【insert】字样
- C. 在插入模式下按下ESC键,回到命令模式
-
底行模式
- A. 按下esc回到命令模式
- B. 在命令模式的基础上按下 shift+:
- C. 按下保存退出: :wq(保存退出) :q!(强制退出不保存
底行模式命令 含义 :wq 保存并退出 :q! 不保存退出 :set nu 显示行号 :set nonu 取消行号显示 :n 定位到第n行, 如 :10 就是定位到第10行
-
-
操作示例
- 这里就不演示了,效果不太明显。
1.6、查找命令
- 命令介绍(find)
- 作用
- 在指定目录下查找文件
- 语法
find dirName -option fileName
- 举例
find . –name "*.java"
- 在当前目录及其子目录下查找.java结尾文件
find /test -name "*.java"
- 在/test目录及其子目录下查找.java结尾的文件
- 作用
- 命令介绍(grep)
- 作用
- 从指定文件中查找指定的文本内容
- 语法
grep word fileName
- 举例
grep Hello HelloWorld.java
- 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java
- 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
- 作用
- 操作示例
- 在当前目录及其子目录下查找.java结尾文件
- 在/test目录及其子目录下查找.java结尾的文件
- 查找HelloWorld.java文件中出现的Hello字符串的位置
- 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
- 在当前目录及其子目录下查找.java结尾文件
1.7、查看系统的进程命令
- 命令介绍
ps -ef
- 系统的所有的进程都展示出来
kill -9(强制杀死)|-2(温和杀死)
- 进程id号
- 操作示例
- 详情见1.8
1.8、管道命令
-
命令介绍
- 作用
- 上一个命令的结果提供给下一个命令去使用
- 语法
ps -ef | grep ***
- 作用
-
操作示例