linux常用命令
目录
一、解压缩
二、ftp
三、常用快捷键
四、chkconfig命令
五、netstat命令
——————————————————————————————————————————————————————————————————————
一、解压缩
1、war包
(1)打包
格式:jar [参数] 包名.war 目标文件路径
参数:
-c 创建war包
-v 显示过程信息
-f 指定 JAR 文件名,通常这个参数是必须的
-M 不产生所有项的清单(MANIFEST〕文件,此参数会忽略 -m 参数
-0 这个是阿拉伯数字,只打包不压缩的意思
例子:jar -xvf project.war /project_a :把project_a文件夹下的文件打包成project.war
(2)解压
jar -xvf project.war
2、zip包
(1)打包zip
功能说明:压缩文件。
语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式>] 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具 有".zip"扩展名 的压缩文件。 参 数: -A 调 整可执行的自动解压缩文件。 -b<工作目录> 指 定暂时存放文件的目录。 -c 替 每个被压缩的文件加上注释。 -d 从 压缩文件内删除指定的文件。 -D 压 缩文件内不建立目录名称。 -f 此 参数的效果和指定"-u"参 数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。 -F 尝 试修复已损坏的压缩文件。 -g 将 文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。 -h 在 线帮助。 -i<范本样式> 只 压缩符合条件的文件。 -j 只 保存文件名称及其内容,而不存放任何目录名称。 -J 删 除压缩文件前面不必要的数据。 -k 使 用MS-DOS兼容格 式的文件名称。 -l 压 缩文件时,把LF字符 置换成LF+CR字 符。 -ll 压 缩文件时,把LF+CR字 符置换成LF字符。 -L 显 示版权信息。 -m 将 文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。 -n<字尾字符串> 不 压缩具有特定字尾字符串的文件。 -o 以 压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。 -q 不显 示指令执行过程。 -r 递 归处理,将指定目录下的所有文件和子目录一并处理。 -S 包 含系统和隐藏文件。 -t<日期时间> 把 压缩文件的日期设成指定的日期。 -T 检 查备份文件内的每个文件是否正确无误。 -u 更 换较新的文件到压缩文件内。 -v 显 示指令执行过程或显示版本信息。 -V 保 存VMS操作系统的文 件属性。 -w 在 文件名称里假如版本编号,本参数仅在VMS操 作系统下有效。 -x<范本样式> 压 缩时排除符合条件的文件。 -X 不 保存额外的文件属性。 -y 直 接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之 类的系统下有效。 -z 替 压缩文件加上注释。 -$ 保 存第一个被压缩文件所在磁盘的卷册名称。 -<压缩效率> 压 缩效率是一个介于1-9的 数值。 例. 将当前目录下的所有文件和文件夹全部压缩成test.zip文件,-r表示递归压缩子目录下所有文件 [root@mysql test]# zip -r test.zip ./*(2)解压unzip
功 能说明:解压缩zip文 件
语 法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密 码>][.zip文 件][文件][-d <目录>][-x <文件>] 或 unzip [-Z] 补充说明:unzip为.zip压缩文件的解压缩程序。 参 数: -c 将 解压缩的结果显示到屏幕上,并对字符做适当的转换。 -f 更 新现有的文件。 -l 显 示压缩文件内所包含的文件。 -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任 何的转换。 -t 检 查压缩文件是否正确。,但不解压。 -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中 的其他文件解压缩到目录中。 -v 执 行是时显示详细的信息。或查看压缩文件目录,但不解压。 -z 仅 显示压缩文件的备注文字。 -a 对 文本文件进行必要的字符转换。 -b 不 要对文本文件进行字符转换。 -C 压 缩文件中的文件名称区分大小写。 -j 不 处理压缩文件中原有的目录路径。 -L 将 压缩文件中的全部文件名改为小写。 -M 将 输出结果送到more程 序处理。 -n 解 压缩时不要覆盖原有的文件。 -o 不 必先询问用户,unzip执 行后覆盖原有文件。 -P<密码> 使 用zip的密码选项。 -q 执 行时不显示任何信息。 -s 将 文件名中的空白字符转换为底线字符。 -V 保 留VMS的文件版本信 息。 -X 解 压缩时同时回存文件原来的UID/GID。 [.zip文件] 指定.zip压缩文件。 [文件] 指定 要处理.zip压缩文 件中的哪些文件。 -d<目录> 指 定文件解压缩后所要存储的目录。 -x<文件> 指 定不要处理.zip压 缩文件中的哪些文件。 -Z unzip -Z等 于执行zipinfo指 令。 3、tartar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
1、*.tar 用 tar -xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar -xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar -xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar -xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
二、ftp
如果linux上没有安装ftp,ftp命令是不可用的。安装ftp命令:
yum install ftp
1. 连接ftp服务器格式:ftp [hostname| ip-address]
a)在linux命令行下输入:
b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
2. 下载文件
下载文件通常用get和mget这两条命令。
a) get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
b) mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则
ftp> mget *.* (回车)
此时每下载一个文件,都会有提示。如果要除掉提示,则在mget *.* 命令前先执行:prompt off
注意:文件都下载到了linux主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则文件都下载到了/usr/my下。
3.上传文件
a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
ftp> mput *.htm (回车)
注意:上传文件都来自于主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则只有在/usr/my下的文件linux才会上传到服务器/usr/your 下。
4. 断开连接
bye:中断与服务器的连接。
ftp> bye (回车)
三、linux中快捷键
1、shift+G:打开文件后,shift+G到达文件底部
四、chkconfig命令
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。 语法: chkconfig --list [name] :显示所有运行级系统服务的运行状态信息(on或off)。如果指定了name,那么只显示指定的服务在不同运行级的状态。 chkconfig --add name :增加一项新的服务。chkconfig确保每个运行级有一项启动(S)或者杀死(K)入口。如有缺少,则会从缺省的init脚本自动建立。 chkconfig --del name :删除服务,并把相关符号连接从/etc/rc[0-6].d删除。 chkconfig [--level levels] name <on|off|reset>:设置某一服务在指定的运行级是被启动,停止还是重置。例如,要在3,4,5运行级停止nfs服务,则命令如下: chkconfig --level 345 nfs off chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfig会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。 --level选项可以指定要查看的运行级而不一定是当前运行级。 需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。 运行级文件: 每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用/ 跨行注释。例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for /
# higher quality random number generation. 附加介绍一下Linux系统的运行级的概念:
(1) Linux中有多种运行级,常见的就是多用户的2,3,4,5 ,很多人知道5是运行X-Windows的级别,而0就是关机了。运行级的改变可以通过init命令来切换。例如,假设你要维护系统进入单用户状态,那么,可以使用init1来切换。在Linux的运行级的切换过程中,系统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K和S开头的文件,按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事情,Linux提供了chkconfig命令用来更新和查询不同运行级上的系统服务。 (2)--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务 五、netstat命令
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。
1.命令格式:
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
2.命令功能:
netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
3.命令参数:
netstat的参数有很多,但是常用的也就几个
netstat -[atunlp]
- -a :all,表示列出所有的连接,服务监听,Socket资料
- -t :tcp,列出tcp协议的服务
- -u :udp,列出udp协议的服务
- -n :port number, 用端口号来显示
- -l :listening,列出当前监听服务
- -p :program,列出服务程序的PID
4、示例
netstat -anp | grep
六、chmod命令
chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。 例如:
命令:
ls -al
输出:
[root@localhost test]# ll -al
总计 316lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -> log2012.log
-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log
-rw-r--r-- 1 root root 61 11-13 06:03 log2013.log
-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log
-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log
-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log
-rw-r--r-- 1 root root 0 11-16 14:43 log2017.log
我们以log2012.log为例:
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
例如:
- rw- r-- r--
表示log2012.log是一个普通文件;log2012.log的属主有读写权限;与log2012.log属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。chmod命令详细情况如下。
1. 命令格式:
chmod [-cfvR] [--help] [--version] mode file
2. 命令功能:
用于改变文件或目录的访问权限,用它控制文件或目录的访问权限。
3. 命令参数:
必要参数:
-c 当发生改变时,报告处理信息
-f 错误信息不输出
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细处理信息
选择参数:
--reference=<目录或者文件> 设置成具有指定目录或者文件具有相同的权限
--version 显示版本信息
<权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
<权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
<权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1). 文字设定法:
chmod [who] [+ | - | =] [mode] 文件名
2). 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
chmod [mode] 文件名
数字与字符对应关系如下:
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
4. 使用实例:
实例1:增加文件所有用户组可执行权限
命令:
chmod a+x log2012.log
输出:
[root@localhost test]# ls -al log2012.log
-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# chmod a+x log2012.log
[root@localhost test]# ls -al log2012.log
-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]#
说明:
即设定文件log2012.log的属性为:文件属主(u) 增加执行权限;与文件属主同组用户(g) 增加执行权限;其他用户(o) 增加执行权限。
实例2:同时修改不同用户权限
命令:
chmod ug+w,o-x log2012.log
输出:
[root@localhost test]# ls -al log2012.log
-rwxr-xr-x 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# chmod ug+w,o-x log2012.log
[root@localhost test]# ls -al log2012.log
-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log
说明:
即设定文件text的属性为:文件属主(u) 增加写权限;与文件属主同组用户(g) 增加写权限;其他用户(o) 删除执行权限
实例3:删除文件权限
命令:
chmod a-x log2012.log
输出:
[root@localhost test]# ls -al log2012.log
-rwxrwxr-- 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# chmod a-x log2012.log
[root@localhost test]# ls -al log2012.log
-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log
说明:
删除所有用户的可执行权限
实例4:使用“=”设置权限
命令:
chmod u=x log2012.log
输出:
[root@localhost test]# ls -al log2012.log
-rw-rw-r-- 1 root root 302108 11-13 06:03 log2012.log
[root@localhost test]# chmod u=x log2012.log
[root@localhost test]# ls -al log2012.log
---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log
说明:
撤销原来所有的权限,然后使拥有者具有可读权限
实例5:对一个目录及其子目录所有文件添加权限
命令:
chmod -R u+x test4
输出:
[root@localhost test]# cd test4
[root@localhost test4]# ls -al
总计 312drwxrwxr-x 2 root root 4096 11-13 05:50 .
drwxr-xr-x 5 root root 4096 11-22 06:58 ..
-rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log
-rw-r--r-- 1 root root 61 11-12 22:54 log2013.log
-rw-r--r-- 1 root root 0 11-12 22:54 log2014.log
[root@localhost test4]# cd ..
[root@localhost test]# chmod -R u+x test4
[root@localhost test]# cd test4
[root@localhost test4]# ls -al
总计 312drwxrwxr-x 2 root root 4096 11-13 05:50 .
drwxr-xr-x 5 root root 4096 11-22 06:58 ..
-rwxr--r-- 1 root root 302108 11-12 22:54 log2012.log
-rwxr--r-- 1 root root 61 11-12 22:54 log2013.log
-rwxr--r-- 1 root root 0 11-12 22:54 log2014.log
说明:
递归地给test4目录下所有文件和子目录的属主分配权限
其他一些实例:
1).
命令:
chmod 751 file
说明:
给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
2).
命令:
chmod u=rwx,g=rx,o=x file
说明:
上例的另一种形式
3).
命令
chmod =r file
说明:
为所有用户分配读权限
3).
命令:
chmod 444 file
说明:
同上例
4).
命令:chmod a-wx,a+r file
- umask用法
- Linux KDE 设置显示桌面的快捷键 win+d
- Linux常用命令--uniq
- 利用iptables来配置linux禁止所有端口登陆和开放指定端口
- Linux GCC 开发入门(一) -- 使用makefile 命令行编译
- Linux常用命令--sort
- Linux基础面试题
- linux 统计目录下所有文件数量
- 每日一linux命令(20)-------find命令之exec
- Hi3516A linux kernel 编译步骤详细说明
- apktool工具在centos环境中-解包 修改 打包 签名
- Linux查看系统信息命令汇总
- 每天一个Linux命令-ls
- Linux下同时打开编辑多个文件 【VSP、vim -o】
- CentOS一键ftp
- linux编译配置好的内核,编译镜像时候出现arm-linux-:命令未找到
- Linux NFS 挂载及其NFS server 安装
- linux git push pull免账号密码
- linux 查看硬件信息
- linux udp组播接收问题及原理分析