Linux:最全的开发常用命令
Posted ABin-阿斌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:最全的开发常用命令相关的知识,希望对你有一定的参考价值。
我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得文章有点 feel ,那就点个赞再走哦。
文章目录
一、Linux是什么?
- linux 是一个内核:redhat [红帽]:收费,centos:免费,ubuntu:【界面】
二、虚拟机常用简单命令
1.reboot:重启
2.ifconfig[ipconfig]:查看ip
3.cd 目录:进入到某个目录
1.目录:绝对路径:以/开头的路径 cd /usr
2. 相对路径:不是以/开头的路径 cd ../usr
4.pwd:当前光标所在的目录
5.clear:清空屏幕
6.shutdown -h now
7.查看文本内容命令:
1. cat 使用单屏查看文本文件
2. more 分屏查看时用h(帮助) space(下翻屏) b(上翻屏) enter(下一行) q键(退出)
3. less e(下一行) y(上一行) f (下翻页)b (上翻页) q(退出)
4. head -# 如 head -2
5. tail -# 如 tail -2
# 查看cpu的命令:top
# 查看内存:free -m
# 查看硬盘:df -h
# find / -name "da":
# sync:关机之前,最好将内存中的数据保存到磁盘上!
# file 文件:查看文件类型
8.tab键补齐功能【目录或文件名补齐】、命令补齐
三、VI编辑器
- VI 编辑器是 Linux 系统中使用最广泛的,而且是默认的文本编辑器
1、文本编辑器的作用:
- 修改系统配置文件
- 创建用户信息文件
- 编辑程序源代码文件
2、VI编辑器的模式(三种):
- 命令模式: 由命令模式进入到输入模式:点击 i ( o,a,r );由命令模式进入到末行模式 输入:【冒号】
- 输入模式: 由输入模式退出到命令模式:用 ESC
- 末行模式: 在末行模式输入 (w,q,wq,wq! )就可以退出编辑器了
3、VI编辑器的使用:
- 打开或新建文件:vi 文件
- 编辑文件:i ,或者o ,或者 a,或者 r
- 保存文件: :w 文件 (有另存为功能)
- 退出编辑器 :
- :q (已保存或未更改)
- :wq (保存后退出)
- :q! (强制退出)
4、命令行模式下:
-
行内快速跳转:
- ^ 行首
- $ 行尾
- w 后一个单词首字母
-
行间快速跳转:
1. : set nu 显示行号
2. : set nonu 取消行号
3. 1G 文件首行
4. #G 转到#行(#号代表的是数字)
5. G文件末行
6. vi [+#] 文件名,光标就会自动到达文件的第#行首! (#表示数字!!!) -
在末行模式直接输入:#(#代表的是数字),那么就会直接跳转到第 # 行!
-
光标方向移动在命令模式下:
- k(上)
- j(下)
- h(左)
- l(右)
5、删除操作:
- dd:删除光标所在行
- 3dd:从光标所在行,往下删除三行
- d$:删除光标至行尾
- d^:删除光标至行首
- 在末行模式直接输入:1,20 d 即可删除第 #1 行到 #2 行的所有内容!(#代表的是数字)!
- 加#, 如3dd(3就是这里说的#)
- 撤销操作: u
6、复制操作:
- yy:复制光标所在行
- 3yy:复制光标所在行及下面2行
- y$:复制光标至行尾
- y^:复制光标至行首
- 加#,如20yy -----从光标开始计算
- 在末行模式直接输入:#,$y 即可复制第#行到文尾的所有内容!(#代表的是数字)!
7、粘贴操作:
- p(小p): 粘贴在光标所在行之后
- P(大p):粘贴在光标所在行之前
8、查找与替换(末行命令):
-
查找:
1. 由 ”/” 或者 ”?” 开始后跟一个 word
2. 按 n 键查找后一个
3. 按 N 键查找前一个 -
替换:
1. 在末行模式,%s/被替换单词/替换成哪个单词
四、文件文本相关命令
1. ls 目录:显示指定目录下的所有未隐藏的目录或者文件
2. ls -a 目录:显示指定目录中所有的文件或者目录【包括隐藏的,以.开头的文件】
3. ls -l:
4. ls -al:以长输出的方式显示所有的文件
5. cat 文件名:查看文件中的内容信息
# mkdir 目录 :创建目录,通过指定 -p 参数可以创建多级目录
# touch 文件名:用于创建一个文件
#rm -rf 目录、文件 删除目录或文件
# rmdir dir1:删除空目录
# cp 复制
# cp 文件名a 目录A: 直接将文件a拷贝到目录 A 中,名字不变 a
# cp 文件名a 目录A/b 直接将文件a拷贝到目录 A 中,名字变为 b
# cp -r 目录a 目录A/b 直接将目录a拷贝到目录 A 中,名字由a变为 b
# cp 源文件 目标文件【目标目录】
# mv 源文件【源目录】 目标目录【目标文件】:
# mv 源文件 目标文件:
# mv 文件名 目录:
6. find 查找文件:
# find / -name 'aa.txt'
7. grep :查找文本中的内容
# cat aa.txt | grep "hello"
五、压缩和解压缩命令
-
Windows 常用的压缩格式: .zip .rar 格式(压缩比更高,压缩速度也更快!)
-
Linux 常用压缩格式:.zip .gz .bz2 .tar.gz .tar .bz2 (把要压缩的文件或者目录先转换成tar包然后再压缩,解决了目录不能压缩和解压缩的问题!)
-
注意: windows 的 zip 格式的压缩和 linux 系统的 zip 压缩是一致的(可以互相压缩和解压缩)!
1、zip文件的解压和压缩(可压缩目录和文件)
-
zip 压缩格式:
- 压缩文件: zip 压缩文件名 源文件
- 压缩目录: zip -r 压缩文件名 源目录
- 注意: 压缩文件有可能比源文件大(这是由于压缩格式的信息也在压缩包里面)!
-
解压缩zip压缩的文件:
- unzip 压缩文件
2、gz 格式解压和压缩
- gz 压缩格式是 linux 所特有的压缩格式,但可以在 windows 上解压,不能压缩目录,只能压缩子文件
-
压缩:gzip 源文件
-
注意: 源文件会消失
-
gzip -c 源文件 > 压缩文件
- 注意:源文件会保留( 重定向是把命令的结果输出到一个文件中! )
-
gzip -r 目录 注意:这会压缩该目录下的子文件
-
-
解压: gzip -d 压缩文件
- gunzip 压缩文件
- gunzip -r 目录 (解压缩目录里面的文件)
3、bz2 格式解压和压缩( bzip2 压缩目录会报错 )
- 压缩:bzip2 源文件
- 注意: 源文件会消失
- bzip2 -k 源文件
- 注意: 源文件会保留
- 解压:bzip2 -d 压缩文件
- 注意:-k 保留压缩文件
- bunzip2 压缩文件
- 注意:-k 保留压缩文件
4、tar.gz格式的解压和压缩
- 压缩: tar -cvf 打包文件名 源文件(源目录)
- 选项:
- -c : 打包
- -v :显示过程
- -f :指定打包后的文件名
- 例子:tar -cvf hello.tar hello.txt
- gzip hello.tar
- gzip -d hello.tar .gz
- bzip2 hello.tar
- bzip2 -d hello.tar .bz2
- 例子:tar -cvf hello.tar hello.txt
- 解压:
- tar -xvf 打包文件名
- 选项: -x : 解压
- 例子:tar -xvf hello .tar
- 选项: -x : 解压
- tar .gz压缩(先打包为 .tar 格式,再压缩为 .gz 格式)
-
压缩: tar -zcvf 压缩包名.tar.gz 源文件(可以为多个,文件之间用空格隔开,压缩包名.tar.gz也可以写绝对路径)
- 选项:-z :压缩为.tar.gz格式
-
解压: tar -zxvf 压缩包名.tar.gz -C 要解压到的文件夹
- 选项:-x :解压.tar.gz格式
5、tar.bz2格式解压和压缩
-
压缩: tar -jcvf 压缩包名.tar.bz2 源文件
- 选项:-j :压缩为:.tar.bz2格式
-
tar -jxvf 压缩包名.tar.bz2
- 选项:-x :解压.tar.bz2格式
- 案列(指定解压目录):tar -jxvf hello.tar.bz2 -C /opt/installDir
六、用户(组)管理命令
-
添加用户:useradd
-
设置密码:passwd
- 注意:若无则默认为root修改密码
-
删除用户: userdel [-r]
-
禁止/解禁用户:usermod [-L|-U]
-
切换用户:su 注意:输入的是你将要切换到目标用户的密码
-
查看当前用户: whoami / who am i
-
查看所有已登录用户:who
-
查看所有登录用户记录:last
-
用户信息文件: /etc/passwd 可通过cat /etc/passwd 进行查看,字段之间都是用冒号隔开,格式为:用户名:口令:用户标示符号:组标识符号:注释性描述:宿主目录:命令解释器
-
用户密码文件: /etc/shadow 可通过cat /etc/shadow 进行查看
-
history:查看你输入过的命令[200]
1、用户组
12. 增加用户组:groupadd <groupname>
13. 创建用户时指定用户初始组 useradd -g <initial_group> <username>
14. 删除用户组:groupdel <groupname>
15. 修改用户所在初始组 usermod -g <groupname> <username>
16. 查看用户所属组:groups <username>
18. 组信息:/etc/group :格式为:组名:组口令:GID:组成员 组密码信息在:/etc/gshadow文件中保存!!
七、文件/目录的权限
# r: 读
# w: 写
# x: 执行的权限
# ll命令:长输出显示文件信息
-rw-r--r-- 1 zhangsan root 0 11月 22 18:31 aaaa
属主 属组 文件大小 创建或者修改时间 文件名
-rw-r--r--:
第一位:文件类型:-:表示这是个普通文件
d:表示这是个目录
l:这是一个链接文件
rw-[第2位-第4位]:表示属主对当前文件的操作权限
r--[第5位-第7位]:表示属组中的用户对当前文件的操作权限
r--[第8位-第10位]:表示其它人【既不属于属主、也不属于属组中的用户】对当前文件的操作权限
八、文件和文件夹的读写执行权限的含义
权限 简写 对普通文件的作用 对文件夹的作用
读取 r 查看文件内容 列出文件夹中的文件(ls)
写入 w 修改文件内容 在文件夹中删除、添加或重命名文件(夹)
执行 x 文件可以作为程序执行 cd 到文件夹
# root用户:不受权限限制,是一个超级的存在。
# 修改文件的权限:
chmod: u/ r/w/x 文件名
属主:u
属组:g
其它:o
所有用户:a
# 文件授权:
chmod u+rwx 文件名 或者 chmod u+7 文件
chmod g+rwx 文件名 或者 chmod g+7 文件
chmod o+rwx 文件名 或者 chmod o+7 文件
chmod a+rwx 文件名 或者 chmod a+7 文件
# 文件权限设置:
更改文件权限:chmod [ugoa][+-=][rwx] <file> (用逗号分隔)
更改文件所有者:chown <owner> <file>
更改文件所属组:chgrp <group> <file>
同时更改所有者和所属组:chown <owner:group> <file>
# 连接文件
软链接文件:ln -s 源文件 链接文件,软连接文件依赖于源文件
硬链接文件:ln 源文件 链接文件, 硬连接文件不完全依赖于源文件
# su|sudo 用户: 表示切换到指定用户身份,暂时以指定用户的身份运行,普通用户切换到root用户,需要输入密码,而root用户切换到普通不需要输入密码:修改:vim /etc/sudoers
九、软件安装相关
1). RPM 包【.rpm软件包】:这种方式比较麻烦:
1.RPM(RedHat Package Manager),Rethat 软件包管理工具,类似 windows 里面的 setup.exe
Rethat 是Linux这系列操作系统里面的软件安装工具,它虽然是RedHat的标志,但理念是通用的
2.RPM 包的名称格式:
apache-1.3.23-11.i386.rpm
“apache”:“软件名称”
"1.3.23-11":软件的版本号,主版本和此版本
"i386":是软件所运行的硬件平台
“rpm”:文件扩展名,代表 RPM 包:
3.对于 RPM 包而言
常用命令:
查询:rpm -qa:查询所安装的所有rpm软件包
rpm -q tomcat
rpm -qa | grep X
安装: rpm -ivh RPM包全路径名称:
i=install,安装
v=verbose,提示信息
h=hash,进度
rpm -ivh jdk-7u67-linux-x64.rpm //安装 ,安装到/usr/java/目录下了
配置环境变量:
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_67
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin 注意:这里等号两侧不要留空格;
保存并退出,并使得配置生效
source /etc/profile
查看java版本:java -version
卸载:rpm -e RPM 软件包
# Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的
1、/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
2、/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
3、/opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以放置第三方软件,当你不需要时,直接rm -rf掉即可。
2).yum 安装 ---->
语法:yum install 软件名称
一、 安装 mysql:centos6
1. 使用root用户: su root
2. 安装:
yum install mysql(这是安装的mysql的客户端!!!)
yum install mysql-server 这是安装的mysql的服务端!!!)
yum install mysql-devel(可选)
3. 修改配置信息,添加: vim /etc/my.cnf
(添加一个mysql节点)
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
lower_case_table_names=1
4. 启动mysql:service mysqld restart/stop/start
5. 配置超级用户名和密码, mysqladmin -u root password 123456
6. root用户登录mysql -u root -p 123456
7. 创建mysql用户:create user 'hive' identified by '123456';
8. 授权:grant all privileges on *.* to 'hive'@'%' with grant option
9. flush privileges;
10. 重启一下这个mysql服务。
11. 使用hive用户创建数据库并修改连接信息。
create database hive;
3).解压配置安装:tomcat.tar.gz
tar -zxvf apache-tomcat-7.0.65.tar.gz -C /opt/install/ :-C指定要解压到的目录
vi /etc/profile
十、查看日志相关命令
# 最常用查看日志方法:
实时日志:tail -f XXX.log
搜索关键字附近日志:cat -n filename | grep "关键字"
# 查看日志常用命令
1、tail:
-n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log 实时监控100行日志
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
2、head:
跟 tail 是相反的,tail 是看后多少行日志,而 head 是查看日志文件的头多少行,例子如下:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
3、cat:
tac 是倒序查看,是 cat 单词反写;例子如下:
cat -n test.log |grep "debug" 查询关键字的日志(常用!)
4、vim:
1、进入vim编辑模式:vim filename
2、输入“/关键字”,按 enter 键查找
3、查找下一个,按 “n” 即可
退出:按 ESC 键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令
wq! 保存退出
q! 不保存退出
# 查看日志应用场景一:按行号查看:过滤出关键字附近的日志
(1) cat -n test.log |grep "debug" 得到关键日志的行号
(2) cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前 10 行和后 10 行的日志:
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
# 查看日志应用场景二:根据日期查询日志
(1) sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
# 特别说明:
1、上面的两个日期必须是日志中打印出来的日志,否则无效
2、先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点
# 查看日志应用场景三:日志内容特别多,打印在屏幕上不方便查看,分页/保存文件查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n test.log |grep "debug" >debug.txt
以上是关于Linux:最全的开发常用命令的主要内容,如果未能解决你的问题,请参考以下文章