【经典收藏】掌握这些命令,玩转Linux小黑框!!

2018-12-08 18:31:54     

ls [选项] [目录名 | 列出相关目录下的所有目录和文件

-a  列出包括.a开头的隐藏文件的所有文件
-A  通-a,但不列出"."和".."
-l  列出文件的详细信息
-c  根据ctime排序显示
-t  根据文件修改时间排序
---color[=WHEN] 用色彩辨别文件类型 WHEN 可以是'never'、'always'或'auto'其中之一
   白色:表示普通文件
   蓝色:表示目录
   绿色:表示可执行文件
   红色:表示压缩文件
   浅蓝色:链接文件
   红色闪烁:表示链接的文件有问题
   黄色:表示设备文件
   灰色:表示其它文件

mv [选项] 源文件或目录 目录或多个源文件 | 移动或重命名文件

-b  覆盖前做备份
-f  如存在不询问而强制覆盖
-i  如存在则询问是否覆盖
-u  较新才覆盖
-t  将多个源文件移动到统一目录下,目录参数在前,文件参数在后
eg:
   mv a /tmp/ 将文件a移动到 /tmp目录下
   mv a b 将a命名为b
   mv /home/zenghao test1.txt test2.txt test3.txt

rcp [参数] [源文件] [目标文件] | 远程文件拷贝

-r  递归复制
-p  保留源文件的属性
usage: rcp –r remote_hostname:remote_dir local_dir

wget [参数] [URL地址] | 直接从网络上下载文件

-o FILE 把记录写到FILE文件中    eg : wget -O a.txt URL
wget --limit-rate=300k URL  限速下载

sed 对数据行进行替换、删除、新增、选取等操作

a   新增,在新的下一行出现
c   取代,取代 n1,n2 之间的行 eg: sed '1,2c Hi' ab
d   删除
i   插入,在新的上一行出现

paste 合并文件,需确保合并的两文件行数相同

-d  指定不同于空格或tab键的域分隔符
-s  按行合并,单独一个文件为一行

su [参数] user | 切换登陆

-l  切换时连同环境变量、工作目录一起改变
-c command  执行command变回原来的使用者

sudo | 以特定用户的权限执行特定命令

-l  列出当前用户可执行的命令
-u username#uid 以指定用户执行命令

cp [选项] 源文件或目录 目录或多个源文件 | 将源文件复制至目标文件,或将多个源文件复制至目标目录。

-r -R 递归复制该目录及其子目录内容
-p  连同档案属性一起复制过去
-f  不询问而强制复制
-s  生成快捷方式
-a  将档案的所有特性都一起复制

scp [参数] [原路径] [目标路径] | 在Linux服务器之间复制文件和目录

-v  详细显示输出的具体情况
-r  递归复制整个目录
(1) 复制文件:  
命令格式:  
scp local_file remote_username@remote_ip:remote_folder  
或者  
scp local_file remote_username@remote_ip:remote_file  
或者  
scp local_file remote_ip:remote_folder  
或者  
scp local_file remote_ip:remote_file  
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名  
第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名   
(2) 复制目录:  
命令格式:  
scp -r local_folder remote_username@remote_ip:remote_folder  
或者  
scp -r local_folder remote_ip:remote_folder  
第1个指定了用户名,命令执行后需要输入用户密码;  
第2个没有指定用户名,命令执行后需要输入用户名和密码;
eg:
   从 本地 复制到 远程
   scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root 
   从 远程 复制到 本地
   scp root@/172.19.2.75:/home/root/full.tar.gz /home/daisy/full.tar.gz

rm [选项] 文件 | 删除文件

-r  删除文件夹
-f  删除不提示
-i  删除提示
-v  详细显示进行步骤

touch [选项] 文件 | 创建空文件或更新文件时间

-a  只修改存取时间
-m  值修改变动时间
-r  eg:touch -r a b ,使b的时间和a相同
-t  指定特定的时间 eg:touch -t 201211142234.50 log.log 
   -t time [[CC]YY]MMDDhhmm[.SS],C:年前两位

pwd 查看当前所在路径

cd 改变当前目录

mkdir [选项] 目录… | 创建新目录

-p  递归创建目录,若父目录不存在则依次创建
-m  自定义创建目录的权限  eg:mkdir -m 777 hehe
-v  显示创建目录的详细信息

rmdir 删除空目录

-v  显示执行过程
-p  若自父母删除后父目录为空则一并删除

rm [选项] 文件… | 一个或多个文件或目录

-f  忽略不存在的文件,不给出提示
-i  交互式删除
-r  将列出的目录及其子目录递归删除
-v  列出详细信息

echo:显示内容

-n  输出后不换行
-e  遇到转义字符特殊处理  
   eg:
       echo "hehe"   显示hehe
       ehco -e "hehe"    显示he(换行了)he

cat [选项] [文件]..| 一次显示整个文件或从键盘创建一个文件或将几个文件合并成一个文件

-n  编号文件内容再输出
-E  在结束行提示$

tac | 反向显示

more | 按页查看文章内容,从前向后读取文件,因此在启动时就加载整个文件

+n  从第n行开始显示
-n  每次查看n行数据
+/String    搜寻String字符串位置,从其前两行开始查看
-c  清屏再显示
-p  换页时清屏

less | 可前后移动地逐屏查看文章内容,在查看前不会加载整个文件

-m  显示类似于more命令的百分比
-N  显示行号
/   字符串:向下搜索“字符串”的功能
?   字符串:向上搜索“字符串”的功能
n   重复前一个搜索(与 / 或 ? 有关)
N   反向重复前一个搜索(与 / 或 ? 有关)
b   向后翻一页
d   向后翻半页

nl [选项]… [文件]… | 将输出内容自动加上行号


-b 
-b a 不论是否有空行,都列出行号(类似 cat -n) 
-b t 空行则不列行号(默认) 
-n 有ln rn rz三个参数,分别为再最左方显示,最右方显示不加0,最右方显示加0

head [参数]… [文件]… | 显示档案开头,默认开头10行

-v  显示文件名
-c number   显示前number个字符,若number为负数,则显示除最后number个字符的所有内容
-number/n (+)number     显示前number行内容,
-n number   若number为负数,则显示除最后number行数据的所有内容

whereis [-bmsu] [BMS 目录名 -f ] 文件名| 定位可执行文件、源代码文件、帮助文件在文件系统中的位置

-b   定位可执行文件。
-m   定位帮助文件。
-s   定位源代码文件。
-u   搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B   指定搜索可执行文件的路径。
-M   指定搜索帮助文件的路径。
-S   指定搜索源代码文件的路径。

locate | 通过搜寻数据库快速搜寻档案

-r  使用正规运算式做寻找的条件

grep ‘正则表达式’ 文件名 | 用正则表达式搜索文本,并把匹配的行打印出来

-c  只输出匹配行的计数。
-I  不区分大小写(只适用于单字符)。
-l  只显示文件名
-v  显示不包含匹配文本的所有行。
-n  显示匹配行数据及其行号

gzip [-cdtv#] 檔名 | 压缩、解压缩,源文件都不再存在

-d  进行解压缩
-c  将压缩的数据输出到屏幕上
-v  :显示原档案/压缩文件案的压缩比等信息
-#  :压缩等级,-1最快,但压缩比最差,=9最慢,但压缩比最好

bzip2 | 压缩、解压缩

-d  :解压
-z  :压缩
-k  :保留源文件
-c :将压缩的过程产生的数据输出到屏幕上!
-v :可以显示出原档案/压缩文件案的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

bzcat 读取数据而无需解压

tar [主选项+辅选项] 文件或者目录 | 多个目录或档案打包、压缩成一个大档案

主选项:
   -c  建立打包档案,可搭配 -v 来察看过程中被打包的档名(filename)
   -t  察看打包档案的内容含有哪些档名,重点在察看『档名』就是了;
   -x  解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
辅选项:
   -j  透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
   -z  透过 gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
   -v  在压缩/解压缩的过程中,将正在处理的文件名显示出来!
   -f filename -f 后面要立刻接要被处理的档名!
   -C 目录   这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
   --exclude FILE:在压缩打包过程中忽略某文件 eg: tar --exclude /home/zenghao -zcvf myfile.tar.gz /home/* /etc
   -p  保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
   -P(大写)  保留绝对路径,亦即允许备份数据中含有根目录存在之意;
eg:
   压 缩:tar -jcvf filename.tar.bz2 要被压缩的档案或目录名称
   查 询:tar -jtvf filename.tar.bz2
   解压缩:tar -jxvf filename.tar.bz2 -C 欲解压缩的目录

exit 退出当前shell

logout 退出登录shell

users 显示当前登录系统地用户

who 登录在本机的用户与来源

hostname 查看主机名

alias ii = “ls -l” | 添加别名

unalias ii | 清除别名

passwd | 修改密码

-l  使密码失效
-u  与-l相对,用户解锁
-S  列出登陆用户passwd文件内的相关参数
-n  后面接天数,shadow 的第 4 字段,多久不可修改密码天数
-x  后面接天数,shadow 的第 5 字段,多久内必须要更动密码
-w  后面接天数,shadow 的第 6 字段,密码过期前的警告天数
-i  后面接『日期』,shadow 的第 7 字段,密码失效日期
使用管道刘设置密码:echo "zeng" | passwd --stdin zenghao

userdel 删除用户

-r  用户文件一并删除

chage [-ldEImMW] 账号名 | 修改用户密码的相关属性

-l  列出该账号的详细密码参数;
-d  后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式YYYY-MM-DD
-E  后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
-I  后面接天数,修改 shadow 第七字段(密码失效日期)
-m  后面接天数,修改 shadow 第四字段(密码最短保留天数)
-M  后面接天数,修改 shadow 第五字段(密码多久需要进行变更)
-W  后面接天数,修改 shadow 第六字段(密码过期前警告日期)

usermod [-cdegGlsuLU] username | 修改用户的相关属性

-c  后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。
-d  后面接账号的家目录,即修改 /etc/passwd 的第六栏;
-e  后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据啦!
-f  后面接天数为 shadow 的第七字段。
-g  后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是GID的字段!
-G  后面接次要群组,修改这个使用者能够支持的群组
-l  后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!
-s  后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。
-u  后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;
-L  冻结密码
-U  解冻密码

id [username] | 查看用户相关的id信息,还可以用来判断用户是否存在

diff [参数] [文件1或目录1] [文件2或目录2] | 比较单个文件或者目录内容

-b  不检查空格字符的不同。
-B  不检查空白行。
-i  不检查大小写
-q  仅显示差异而不显示详细信息
eg: diff a b > parch.log 比较两个文件的不同并产生补丁

date [参数]… [+格式] | 显示或设定系统的日期与时间

%H 小时(以00-23来表示)。 
%M 分钟(以00-59来表示)。 
%P AM或PM。
%D 日期(含年月日)
%U 该年中的周数。
date -s “2015-10-17 01:01:01″ //时间设定
date +%Y%m%d         //显示前天年月日
date +%Y%m%d --date="+1 day/month/year"  //显示前一天/月/年的日期
date +%Y%m%d --date="-1 day/month/year"  //显示后一天/月/年的日期
date -d '2 weeks' 2周后的日期

cal [参数] 月份] [年份] | 查看日历


-1  显示当月的月历
-3  显示前、当、后一个月的日历
-m  显示星期一为一个星期的第一天
-s  (默认)星期天为第一天
-j  显示当月是一年中的第几天的日历
-y  显示当前年份的日历

ps | 列出当前进程的快照

a   显示所有的进程
-a  显示同一终端下的所有程序
e   显示环境变量
f   显示进程间的关系
-H  显示树状结构
r   显示当前终端的程序
T   显示当前终端的所有程序
-au 显示更详细的信息
-aux    显示所有包含其他使用者的行程 
-u  指定用户的所有进程

top [参数] | 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

kill [参数] [进程号] | 杀死进程

free [参数] | 显示linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer

vmstat | 对操作系统的虚拟内存、进程、CPU活动进行监控

iostat [参数] [时间t] [次数n](每隔t时间刷新一次,最多刷新n次)| 对系统的磁盘操作活动进行监视,汇报磁盘活动统计情况,同时也会汇报出CPU使用情况

-p[磁盘] 显示磁盘和分区的情况

crontab | 定时任务调度


file    载入crontab
-e  编辑某个用户的crontab文件内容
-l  显示某个用户的crontab文件内容
-r  删除某个用户的crontab文件

route | 显示和操作IP路由表

ping [参数] [主机名或IP地址] | 测试与目标主机的连通性

-q  只显示最后的结果
来源:http://blog.csdn.net/qwe6112071/article/details/50806734
SSM——整合Spring+SpringMVC+Mybatis

Spring:用到注解和自动装配,就是Spring的两个精髓IOC(反向控制)和 AOP(面向切面编程)。 SpringMVC:用到了MVC模型,将流程控制代码放到Controller层处理,将业务逻辑代码放到Service层处理。 Mybatis:用到了与数据库打交道的层面,dao(mapper)层,放在所有的逻辑之后,处理与数据库的CRUD相关的操作。

记录流水号自动生成过程

要求流水号是10位,编码规则格式为:常量CN+当前年两位+当前月两位+当前日两位+流水两位递增,例如:CN18121001 思路: 是先从数据库中获取最大的流水号 如果获取到的值为空或者获取的值不包含当前日期:年两位+月两位+日两位,则设置流水号的后两位从1开始递增 如果获取的值包含当前日期:年两位+月两位+日两位,则设置流水号的后两位从数据库中获取最大的流水号开始递增

 发表评论