Linux常用命令
Linux命令初体验
几种常用命令
命令 | 对应英文 | 作用 |
---|---|---|
ls | list | 查看当前目录下的内容 |
pwd | print word directory | 查看当前所在目录 |
cd [目录名] | change directory | 切换目录 |
touch [文件名] | touch | 如果文件不存在,新建文件 |
mkdir [目录名] | make directory | 创建目录 |
rm [文件名] | remove | 删除指定文件 |
注意事项:
在执行Linux命令,提示信息如果显示为乱码,如下图所示:
这是由于编码问题导致,只需要修改Linux的编码即可,命令如下:
echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile
Linux命令使用技巧
- Tab键自动补全
- 连续两次Tab键,给出操作提示
- 使用上下箭头快速调用曾经使用过的命令
- 使用clear命令或者
CTRL + L
快捷键实现清屏
Linux命令格式
command [-options] [parameter]
说明:
- command:命令名
- [-options]:选项,可用来对命令进行控制,也可以省略
- [parameter]:传给命令的参数,可以是0个,一个或者多个
注意:
- [] 代表可选
- 命令名、选项、参数之间有空格进行分隔
文件目录操作命令
ls
ll 是 ls -l 的简写方式
作用:显示指定目录下的内容
语法:ls [-al] [dir]
说明:
- -a 显示所有文件及目录(.开头的隐藏文件也会列出)
- -l 除了文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出
注意:
由于我们使用命令经常需要加入-l 选项,所以linux为ls -l命令提供了一种简写形式,即ll
。
cd
作用:用于切换当前工作目录,即进入指定目录
语法:cd [dirName]
特殊说明:
- ~表示用户的home目录
- .表示目录所在的目录
- … 表示当前目录位置的上级目录
cat
作用:用于显示文件内容
语法:cat [-n] fileName
说明:
- -n :由1开始对所有输出的行数编号
more
作用:以分页的形式显示文件内容
语法:more fileName
操作说明:
- 回车键 向下滚动一行
- 空格键 向下滚动一屏
- b 返回上一屏
- q或者Ctrl+C 退出more
tail
作用:查看文件末尾的内容
语法:tail [-f] fileName
说明:
- -f :动态读取文件末尾内容并显示,通常用于日志文件的内容输出
- -数字:指定显示几行,不指定默认显示末尾10行的内容
mkdir
作用:创建目录
语法:mkdir [-p] dirName
说明:
- -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
rmdir
作用:删除空目录
语法:rmdir [-p] dirName
说明:
- -p:当子目录被删除后父目录为空目录的话,则一并删除
举例:
- rmdir file* 删除名称以file开始的空目录
rm
作用:删除文件或者目录
语法:rm [-rf] name
说明:
- -r :将目录及目录中所有文件(目录)逐一删除,即递归删除
- -f:无需确认,直接删除·
拷贝移动命令
cp
作用:用于复制文件或目录
语法:cp [-r] source dest
说明:
- -r:如果复制的是目录需要使用此选项,此时将复制该目录下的所有的子目录和文件
举例:
- cp hello.txt file1/ 将hello.txt复制到file1目录中
- cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt
- cp -r file1/ ./ file2/ 将file1目录和目录下所有文件复制到 file2目录下
- cp -r file/* ./file2/ 将file目录下所有文件复制到file2目录下
mv
作用:为文件或目录改名、或将文件或目录移动到其它位置
语法:mv source dest
举例:
- cp hello.txt hi.txt 将hello.txt改名为hi.txt
- mv hi.txt file1/ 将文件hi.txt移动到file1目录中
- mv hi.txt file1/hello.txtr 将文件hi.txt移动到file1目录中,并改名为hello.txt
- mv file1/ file2/ 如果file2目录不存在,则将file1目录改名为file2
- mv file1/ file2/ 如果file2目录存在,则将file1目录移动到file2目录中
打包压缩命令
tar
作用:对文件进行打包、解包、压缩、解压
语法:tar [-zcxvf] fileName [files]
包文件后缀为.tar
表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz
表示打包的同时还进行了压缩
说明:
- -z : z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或解压
- -c : c代表的是craete ,即创建新的包文件(打包)
- -x: x代表的是extract,实现从包文件中还原文件(解包)
- -v: v代表的是verbose,显示命令的执行过程
- -f :f代表的是file,用于指定包文件的名称
常用举例:
打包
将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -cvf hello.tar ./*
将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
tar -zcvf hello.tar.gz ./*
解包
将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -xvf hello.tar
将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz
将hello.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录下
tar -zxvf hello.tar.g -C /usr/local
文本编辑命令
vi/vim
作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似与Windows中的记事本
语法:vi fileName
说明:
- vim是从vi发展来的一个功能更加强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,所以实际工作中vim更加常用
- 要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:
yum install vim
vim
作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName
说明:
- 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件。如果指定的文件不存在则新建文件。
- vim在进行文本编辑时共分为三种模式,分别是命令模式(Command mode),插入模式(Insert mode)和底行模式(Last line mode)。这三种模式之间可以相互切换。
1,命令模式
- 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg、G)
- 通过vim命令打开文件后,默认进入命令模式
- 另外两种模式需要首先进入命令模式,才能进入彼此
2,插入模式
- 插入模式下可以对文件内容进行编辑
- 在命令模式下按下[i,a,o]任意一个,可以进入插入模式。进入插入模式后,下方会出现[insert]字样
- 在插入模式下按下ESC键,回到命令模式
3,底行模式
- 底行模式下可以通过命令对文件内容进行查看,显示行号、退出等操作
- 在命令模式下按下[ : , /]任意一个,可以进入底行模式
- 通过 / 方式进入底行模式后,可以对文件内容进行查找
- 通过 : 方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)
查找命令
find
作用:在指定目录下查找文件
语法:find dirName -option fileName
举例:
- find . -name “*.java” 在当前目录及其子目录下查找.java结尾的文件、
- find /file1 -name “*.java” 在file1目录及其子目录下查找.java结尾的文件
grep
作用:从指定文件查找指定的文本内容
语法:grep vord fileName
举例:
- grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
- grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
进程命令
ps
是linux下非常强大的进程查看命令,
通过ps -ef
可以查看当前运行的所有进程的详细信息
使用ps命令查看进程时,经常配置管道符和查找命令grep一起使用,来查看特定进程
举例:
查看tomcat服务的进程
ps -ef | grep tomcat
管道符
|
|
在linux中称为管道符,可以将签一个命令的结果输出刚给后一个命令作为输入
防火墙操作命令
- 查看防火墙状态(systemctl status firewalld ,firewall-cmd --state)
- 暂时关闭防火墙(systemctl stop firewalld)
- 永久关闭防火墙(systemctl disable firewalld)
- 开启防火墙(systemctl start firewalld)
- 开放指定端口(firewall-cmd --zone=public --add-port=
要开放的端口
/tcp --permanent) - 关闭指定端口(firewall-cmd --zone=public --remove-port=
要关闭的端口
/tcp --permanent) - 立即生效(firewall-cmd --reload)
- 查看开放的端口(firewall-cmd --zone=public --list-ports)
注意:
- systemctl是管理linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
- firewall-cmd是linux专门用于控制防火墙的命令
- 为了保证系统安全,服务器的防火墙不建议关闭
sed命令
参考
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
语法:sed [options] ‘{command}[flags]’ [filename] # 中括号内容必须有,大括号内容可省
- sed #执行命令
- options # 命令选项
- {command}[flags] # sed内容选项和参数
- fileName # 文件
命令选项
-e script 将脚本中指定的命令添加到处理输入时执行的命令中
-f script 将文件中指定的命令添加到处理输入时执行的命令中
-n 抑制自动输出
-i 编辑文件内容
-r 使用扩展的正则表达式
! 取反 (跟在模式条件后与shell有所区别)
sed常用内部命令
a 在匹配后面添加
i 在匹配前面添加
p 打印
d 删除
s 查找替换
c 更改
y 转换 N D P
flags
数字 表示新文本替换的模式
g: 表示用新文本替换现有文本的全部实例
p: 表示打印原始的内容
w filename: 将替换的结果写入文件
常用举例:
将text.txt中666替换成888
sed -i 's/666/888/g' test.txt
设置静态IP
修改文件/etc/sysconfig/network-scripts/ifcfg-ens33
\
BOOTPROT="static"
IPADDR="192.168.138.100" # 使用静态IP地址,默认为dhcp
NETMASK="255.255.255.0" # 设置的静态IP地址
GATEWAY="192.168.138.2" # 网关地址
DNS1="192.168.138.2" # DNS服务器
重启网络服务
systemctl restart network