shell 常用小命令总结
1. 重命名
1) 较简单的处理命令:mv 原文件名 新文件名
如:mv myFile newName ### 将MyFile重命名为newName.
2) 重命名文件命令:rename name_old name_new file
如:rename myFile newName myFile.text #### 将myFile.text重命名为newName.text
这个命令在批量重命名是更好用
如: rename oldName newName oldName1.text oldName2.text oldName3.text
这个命令将oldName1.text oldName2.text oldName3.text文件名中oldName替换为newName
2. xshell 文件传输
sz 是文件下载到本地:
sz filename ##下载一个文件
sz filename1 filename2 ##下载多个文件 sz dir/* ##下载dir目录下的所有文件,不包含dir下的文件夹 rz 是上传本地文件到服务器:
输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录。 3. 删除或复制
删除文件或者文件夹rm
rm filename 可以直接删除文件
rm -r dir 可以删除文件夹及里面的子文件/文件夹; rmdir dir 只能删除空文件夹
rm -v 可以详细显示删除的内容
复制文件夹及其内容
cp -r adsprecise_v2/ adsprecise_test -r 可以表示递归复制文件夹的内容
目标文件夹存在时会把整个adsprecise_v2 复制过去,包含文件夹本身
目标文件夹不存在会把adsprecise_v2 的所有内容复制过去,不包含 4. 字符串拼接
a=`date -d yesterday +%Y%m%d` ## 20151207
b1="weblog_"$a".txt" ##weblog_20151207.txt
c="weblog_" d=".txt"
b2=$c$a$d ##weblog_20151207.txt
5. lftp
- 安装
要在root权限下,yum install -y lftp 一下就可以
- lftp 用户名:密码@ftp地址:传送端口(默认21)
用法举例
(1)lftp username:password@127.0.0.1:21 回车
(2)lftp username@127.0.0.1 回车 ##默认21端口 回车后输入密码
(3)lftp 127.0.0.1 回车 ##回车后 login 登录
(4)lftp 回车 --> open 127.0.0.1 --> login 登录
- 上传文件
#上传文件至FTP服务器
lftp ${FTP_USER}:${FTP_PWD}@${FTP_SERVER} <<EOF
cd ${FTP_DIR}/
lcd /data/admin/mjoys_export/
put $FILE_NAME
bye
EOF
- 可以使用cd / ls 命令查看 FTP服务器上的文件
6. shell 创建日志
dt=`date -d yesterday +%Y%m%d` #20151206
#add a log file
log_file=$dt".log"
echo
echo 'Executing... Pls check process details in log file /data/admin/mjoys_export/logs/log_file'
exec > $DIRECTORY_PATH$log_file 2>&1
7. 压缩与解压tar
tar -zcvf 文件名.tar.gz 压缩路径或者文件
tar -ztvf 文件名.tar.gz 来查看 文件名.tar.gz这个包中包含了什么文件
tar -zxvf 文件名.tar.gz ./ xxl/date/test.sql 可以把包中的test.sql 解压出来不管其他的
8. 大于小于等于
英文缩写:
不相等 -ne (not equal)
大于 -gt (greater than)
小于 -lt (less than)
大于或等于 -ge (greater than or equal)
小于或等于 -le (less than or equal) 9. 自加或自减
shell中
1)
自加的写法 ((x++)) 或者((x+=1))
减法同理 ((x--)) 或者((x-=1))
2)使用变量
a=1
a=$(($a+1))
a=$[$a+1]
a=`expr $a + 1`
3)还有一个办法,let
$let x=x+1
$let x=x-1
10. 保存密码等
在 $home 路径下 编辑 .bashrc 文件
完成后 需要导入一下才能生效。
source .bashrc
11. date 获取前天,任意一天前的日期
写死: dt=$(date +%Y%m%d --date '7 days ago')
传参:
days=7
dt=$(date +%Y%m%d --date "$days days ago") ## 正数,表示几天之前
dt=$(date +%Y%m%d --date "-$days days ago") ## 负数,表示几天之后
同样还有年月的用法
date -d "x weeks ago" +%Y%m%d
date -d "x years ago" +%Y%m%d
上面两种格式都可以,对于变量的结果,也可以用 ``和$() 都行
12. while 和 sed
把文本中每行的首尾空格去掉
cat $FILE_NAME|while read line
do
echo $line|sed 's/^\s*\|\s*$//g'>>$filename_new && echo proceeding...
done
s/^\s*\|\s*$//g 正则解释:
- \s 是空格
- ^ 是开头 $ 是结尾 * 是任意多个字符(0或n个)
- | 是或者,需要转义
- /g 是全局
- 开头的s 为搜索,s/a/b/ 意思为把搜索到的a替换为b
s/a/b/g 是把搜索到的a 全部 替换为b : 这里是把搜索到的开头空格或结尾空格替换为空字符。
13. ls 命令
查看文件大小 ls -lh
查看隐藏文件 ls -a
14. df 查看磁盘的使用情况
df -lh
15. 判断上面一个命令是否结束
tar ... && echo 'yes' || echo 'no'
if [ $? -eq 0 ];then
echo "yes"
else
echo "no"
fi $?符号显示上一条命令的返回值,如果为0则代表执行成功,其他表示失败。
shell 常用小命令总结的更多相关文章
- Linux下提权常用小命令
有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...
- 【常用小命令】解决windows下有些文件文件名识别不了导致删除不了的问题
在百度上找的解决方案哈,只为自己存档一份. 因为发现现在从csdn上下载的文件都是“.pdf_”格式,下载2个文件,将一个文件格式改成 “.pdf”,另一个文件就扔回不了回收站了, 所以没有办法就找各 ...
- Shell 常用的命令
ls功能:列出目录内容常用选项:-a 显示所有文件,包括隐藏的-l 长格式列出信息-i 显示文件 inode 号-t 按修改时间排序-r 按修改时间倒序排序-h 打印易读大小单位 2 echo功能:打 ...
- Linux一些常用小命令
使用xshell连接虚拟机 rz 上传的linux服务器 sz 从服务器上下载 df 查看磁盘大小 -h du 查看所有磁盘(硬盘)大小(-h 可读 -s统计当前目录的大小)du -sh free ...
- Linux常用小命令
1:查看当前磁盘内存 df-ah/df-hl 2:查看文件和文件夹大小 du -h --max-depth=1 /目的文件夹 3:scp 拷贝命令 指定端口传输文件 scp -p port filen ...
- Linux 常用小命令
1. 查看目录的总和 du -sh 路径 2. 查看linux目录下所有某种类型的文件的行数--> 就是想看自己写了多少行代码 find /opt/code/zk_css -name '*.p ...
- cmd常用小命令
#设置n秒后自动关机 -a取消 shutdown -s -t n #输出内容到fileName里,如果文件不存在将会创建文件,>是替换,>>是追加echo something > ...
- [转帖]拿小本本记下的Linux Shell常用技巧(一)
拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...
- (转)Hbase shell 常用命令(1)
Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...
随机推荐
- 如何将matlab画出的图片保存为要求精度
· 来源:http://emuch.net/bbs/viewthread.php?tid=2705843 杂志社对投稿图片的分辨率通常有如下要求: TIFF: Colour or greyscale ...
- mysql 控制台上传数据库
运行 0.cmd1.cd/d d:\DedeAMPZ\Program\MySQL\bin2.mysql -uroot -p1234563.use 数据库名4.source XX.sql 文件所在路 ...
- oracle 取前10条记录
1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbnam ...
- 【LeetCode】95. Unique Binary Search Trees II
Unique Binary Search Trees II Given n, generate all structurally unique BST's (binary search trees) ...
- 我的第一个 JSP (SSH) 个人网站【开源】
唠叨两句背景 相当长时间没上来发帖了,最近几个月除了完成产品经理一个又一个重复又重复的app开发任务之外,最大的工作莫过于充分利用上笔主的业余时间,系统性地跟李刚同志学习JavaEE的SSH框架开发技 ...
- PRML读书会第十三章 Sequential Data(Hidden Markov Models,HMM)
主讲人 张巍 (新浪微博: @张巍_ISCAS) 软件所-张巍<zh3f@qq.com> 19:01:27 我们开始吧,十三章是关于序列数据,现实中很多数据是有前后关系的,例如语音或者DN ...
- .Net Core 自定义序列化格式
序列化对大家来说应该都不陌生,特别是现在大量使用WEBAPI,JSON满天飞,序列化操作应该经常出现在我们的代码上. 而我们最常用的序列化工具应该就是Newtonsoft.Json,当然你用其它工具类 ...
- Laravel如何优雅的使用Swoole
背景 正在做一个智能家居的项目(钱低的吓死人怎么办),接收下位机(就是控制智能家居硬件模块的HUB)协议解析,Web端维护硬件状态,利用APP交互.由于下位机数据是发送到服务器的XXX端口,所以必须对 ...
- SQL Server Data Tools – Business Intelligence for Visual Studio 2012安装时提示“The CPU architecture....”的解决方法
SQL Server Data Tools – Business Intelligence for Visual Studio 2012,一个很强大的工具,下载地址:http://www.micros ...
- 基于FPGA的音频信号的FIR滤波(Matlab+Modelsim验证)
1 设计内容 本设计是基于FPGA的音频信号FIR低通滤波,根据要求,采用Matlab对WAV音频文件进行读取和添加噪声信号.FFT分析.FIR滤波处理,并分析滤波的效果.通过Matlab的分析验证滤 ...