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 常用小命令总结的更多相关文章

  1. Linux下提权常用小命令

    有些新手朋友在拿到一个webshell后如果看到服务器是Linux或Unix操作系统的就直接放弃提权,认为Linux或Unix下的提权很难,不是大家能做的,其实Linux下的提权并没有很多人想象的那么 ...

  2. 【常用小命令】解决windows下有些文件文件名识别不了导致删除不了的问题

    在百度上找的解决方案哈,只为自己存档一份. 因为发现现在从csdn上下载的文件都是“.pdf_”格式,下载2个文件,将一个文件格式改成 “.pdf”,另一个文件就扔回不了回收站了, 所以没有办法就找各 ...

  3. Shell 常用的命令

    ls功能:列出目录内容常用选项:-a 显示所有文件,包括隐藏的-l 长格式列出信息-i 显示文件 inode 号-t 按修改时间排序-r 按修改时间倒序排序-h 打印易读大小单位 2 echo功能:打 ...

  4. Linux一些常用小命令

    使用xshell连接虚拟机 rz 上传的linux服务器 sz 从服务器上下载 df 查看磁盘大小 -h du 查看所有磁盘(硬盘)大小(-h 可读  -s统计当前目录的大小)du -sh free ...

  5. Linux常用小命令

    1:查看当前磁盘内存 df-ah/df-hl 2:查看文件和文件夹大小 du -h --max-depth=1 /目的文件夹 3:scp 拷贝命令 指定端口传输文件 scp -p port filen ...

  6. Linux 常用小命令

    1.  查看目录的总和 du -sh 路径 2. 查看linux目录下所有某种类型的文件的行数--> 就是想看自己写了多少行代码 find /opt/code/zk_css -name '*.p ...

  7. cmd常用小命令

    #设置n秒后自动关机 -a取消 shutdown -s -t n #输出内容到fileName里,如果文件不存在将会创建文件,>是替换,>>是追加echo something > ...

  8. [转帖]拿小本本记下的Linux Shell常用技巧(一)

    拿小本本记下的Linux Shell常用技巧(一) https://zhuanlan.zhihu.com/p/73361101 一. 特殊文件: /dev/null和/dev/tty Linux系统提 ...

  9. (转)Hbase shell 常用命令(1)

    Hbase shell 常用命令(1) link:http://blog.csdn.net/scutshuxue/article/details/6988348 下面我们看看HBase Shell的一 ...

随机推荐

  1. Dubbo架构设计详解

    from:http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解 ...

  2. Java 基础命名空间

    java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...

  3. NET Core中怎么使用HttpContext.Current

    NET Core中怎么使用HttpContext.Current 阅读目录 一.前言 二.IHttpContextAccessor 三.HttpContextAccessor 回到目录 一.前言 我们 ...

  4. git 保存本地更改而不需要推到远程

    git commit 修改到本地分支 repo sync . 更新分支 git checkout local 切换到本地分支 git rebase 远程 更新远程分支到本地并且将本地分支节点推到最顶

  5. Linux Linux程序练习十四(多进程压力测试)

    /* * 题目: * 编程一个基本多进程测试框架,提示用户输入进程数.和每个进程数运行圈数.(fork) * 进行多进程压力测试.(execve) * 要求父进程能监控所有子进程的退出,避免僵尸进程. ...

  6. 在iframe中获取本iframe DOM引用

    window.frameElement 获取本iframe DOM window.frameElement.contentDocument.getElementById('id') 获取这个ifram ...

  7. 64位centos 下编译 hadoop 2.6.0 源码

    64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新 ...

  8. C/C++实践笔记_002编译和链接

    1.要卡死程序用异步,同步的话开一个就关一个值为非0死循环.预处理优先于编译,别称预编译main函数死循环2.程序总是从main函数开始执行的C语言本身不提供输入输出语句print等来自于stdio库 ...

  9. 关于mvc5+EF里面的db.Entry(model).State = EntityState.Modified报错问题

    最近在使用mvc5+EF的的时候用到了这句话 db.Entry(model).State = EntityState.Modified 看上去很简单的修改数据,但是一直报错,说是key已经存在,不能修 ...

  10. OpenStack 简介

    OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务. 此外,OpenStack也用作建立防火墙内的"私有云"(Private Cloud) ...