`

linux Shell常用命令笔记

 
阅读更多
说明:一直都没有做笔记的习惯,或者说没有坚持写笔记的习惯。这次要离开目前的公司了,为了面试也为了打发时间,写点平时在公司用到的shell吧。

watch : 该命令用来每个一段时间执行一次另外一个显示output的命令。一般在super crt客户端用watch date保证session的常连。

who : 查看当前线上用户情况

whoami: 显示当前用户名

whereis: 显示命令的路径

sudo : 用root权限运行,一般需要输入root密码。

su : 切换用户 su - mwang

ls : 列表, 一般用ls -trl, 按时间循序列出所有文件

ln : 创建一个软连接,效果如下
05:31 AM drone@rjprod-batch1$ ls -trl lib
lrwxrwxrwx 1 drone staff 6 Jun 17  2011 lib -> ../lib


touch: 改变文件的日期或者生成空文件。

pwd : 当前路径

cd : 进入folder

chmod : 改变文件权限,700,777, chmod +x xx.sh 用来为文件赋予执行权限

chown :改变文件属主,不常用

scp: ssh版copy,可以跨server。
scp mwang@10.10.10.13:/home/mwang/test.txt . 
将server上的test.txt拷贝到当前文件夹,反之则是将当前文件夹的test.txt文件拷贝到server上的mwang folder里面去。

ssh: 连接到server,如: ssh drone@rjdr-batch1。 也可以跨server执行命令,如:ssh rjdr-tp1 ~/maxit/RJF/startDTPs.sh

dd: 拷贝并转码文件,
dd if=test.txt of=test_ebcdic.txt conv=ebcdic
为test.txt文件新生成一份ebcdic格式的新文件。

cp: 拷贝
cp /home/drone/maxit/RJF/test.txt .


rm: 删除 rm -r 删除目录,一般rm -i xx.txt,这样在删除之前会让用户确认。

mkdir: 新建目录

mv: 剪切(重命名)
mv test.txt emptyfile.txt


alias: 重命名,定义新的命令
alias psd='ps -ef | grep drone'
定义一个psd命令,执行psd的效果等于ps -ef | grep drone

export:将一些变量传递到子的script中去。比如脚本dailyBatchProcess.sh里面调用了dailyBatchProcess_preTP.sh,那么dailyBatchProcess.sh里面定义的参数默认在dailyBatchProcess_preTP.sh里面是不可见的,当在dailyBatchProcess.sh里面对变量使用
export PATH EDITOR ORACLE_HOME JAVA_HOME
,在dailyBatchProcess_preTP.sh就可以直接使用JAVA_HOME等变量了。

echo: 显示output或文本, echo "hello"

date: 显示日期, date +%Y%m%d 显示如201401231。

which:显示命令的完整路径,与date搭配使用的例子如下:
GNU_DATE=`which date`
TODAY=`$GNU_DATE +%Y%m%d`
YESTERDAY=`$GNU_DATE -d "yesterday" '+%Y%m%d'`


$ : 在script中显示script调用时的参数。
$0 = 调用的脚本名, $1 第一个参数, $2,$3同理。 $? = 执行脚本后的return结果,一般0表示成功,其它数字代表error code.

-号与!号: cd -代表返回上一次调用cd的目录。 !代表 重新执行某一命令的最近一次执行。如:!nohup ./dailyBatchProcess.sh RJF 20140101 > mark.log 2>&1 &

&: 即代表重定向如2>&1,将错误输出也定义到标准输出中。也代表后台执行如放在命令最后。

nohup: 将命令的执行者上升至root.看ps -ef可以发现PPID变为1了

crontab: 定时任务,有点像dos的at命令。如:
45 0 * * 2-6 /home/drone/maxit/RJF/Transform/rjfDailyBatchProcess.sh > /home/drone/maxit/RJF/Transform/rjfDailyBatch.log 2>&1

前面五个参数分别代表分钟,小时,日期,月份,星期。上例表示周二至周六,每天凌晨0:45跑一次脚本

> 与 >>: 一个是覆盖输入,一个是在最后一行添加输入。

·· : 注意该字符是数字键最左边的字符,不是单引号。它的意思是获取脚本执行的结果。例子: TODAY = `DATE +%Y%m%d`

. .profile : 表示在脚本中加载.profile文件。

sqlplus : 连接oracle命令。用法:sqlplus MWANG/MWANG123@STUDB。
在脚本中可有如下使用:
sqlplus -s MWANG/MWANG123@STUDB<<!
    set trimspool on;
    set linesize 32767;
    set pagesize 0;
        SPOOL ./sql.log
        START showStu.sql;
        exit;
!


sqlldr: load文件进oracle数据库
sqlldr userid=$DB_USER/$DB_PASS@$ORACLE_SID control=./sec_data.ctl data=./sec_data.txt  log=./log/sec_data.log bad=./error/sec_data.bad bindsize=5000000 parallel=true direct=true readsize=5000000 columnarrayrows=100000 streamsize=1000000 multithreading=true errors=50000 silent=(header, feedback)



pushd, popd : pushd 将目录放入栈, popd从栈中取出目录。 pushd 相当于cd的同时还将当前的目录地址记入栈,而popd相当于cd到栈顶第一个目录,然后将该目录移除。FILO模式。例子:
pwd                
pushd /home/drone/maxit
pwd
pushd /FTP   
pwd
popd
pwd
popd
pwd


if, while, for, switch都大同小异。

[]或test : 在if后面用来判断条件的。
即可判断数字,也可判断文件,常用的有大于-gt,小于-lt,等于-eq, -e文件存在

top: 查看系统资源

tail: 查看文件末尾, -20表示只看最后20行, -f表示实时查看最后一行(比如看Log)

head: 查看文件头, head -20表示查看头两行

less: 查看,常用 less -N 带行号。在less里面用/来做正则匹配。空格翻页,b向前翻。G最后一页,g最前一页。

vi: vi编辑器 参考http://xiaohuafyle.iteye.com/blog/1671540

cat: 获取文件内容,cat > xx.txt,打开一个xx.txt的文件,并将屏幕输入导入xx.txt在最后一行也ctrl+D结束。

ps: 查看线程,一般ps -ef

find: 查找命令,dos里有findstr。常用: find . -name "*.txt" -print 在当前目录及子目录找出所有的txt文件。

kill: 杀线程,kill -9 强制杀死。

wc: 统计命令, wc -l xx.txt统计xx.txt文件的行数

mailx: 发邮件命令mailx -s "test email" mark.wang.en@gmail.com <detail.txt

tar: 压缩解压, tar -cvf 压缩, tar -xcvf 解压。

awk: 一个单独的模式匹配语言,很强大,常用 awk  -F ':'  '{print $1}' 查看第一列。
awk -F ':' -v ONE=1 'BEGIN{} END{}'
-F代表分隔符, -v代表定义变量, BEGIN代表开始时执行一次,END代表结束时执行一次。
for, while, if语句也都支持, &&与||或, "ABC" ~ "^[ABC]+$" 匹配正则表达式,!~不匹配。
求某一列在文件中的位置。
awk -F '|' '{ for(x = 0; x <= NF; x+=1)if($x == "abc") print x}' mark 显示abc在文件mark中的第几列

sed: 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。
常用 sed 's/_&1._/_/g' PLUTO_ACCT_HASH_VALUE.sql > ../tables2/PLUTO_ACCT_HASH_VALUE.sql 来将PLUTO_ACCT_HASH_VALUE.sql文件中的"_&1._"替换成"_"

curl: curl "www.baidu.com" 简单的发起一个http的请求
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Linux常用命令笔记

    ### Linux常用命令笔记 #### 一、Linux命令基础 Linux是一种强大的开源操作系统,适用于服务器、桌面和嵌入式系统等多种应用场景。了解基本的Linux命令对于有效地管理这些系统至关重要。 ##### 查看帮助文档 - *...

    Linux教程+ shell学习笔记 + Shell脚本常用命令+shell脚本100例资源合集

    本文整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用...

    linux常用命令笔记

    自己整理的linux常用命令整理文档,有需要的可以下载借鉴。欢迎指正。

    Linux常用命令手写笔记

    以下是 Linux 中一些常用的命令和技巧: 基本命令 1.关机命令:halt、shutdown、poweroff halt 和 shutdown 命令可以关闭系统,但它们的区别在于 halt 命令不会断电,而 shutdown 命令会断电。poweroff 命令是关闭...

    Linux Shell 的学习笔记

    首先,学习笔记从“常用命令终端快捷键”开始,详细介绍了在Linux命令行中可以提高工作效率的一系列快捷键操作。比如,使用`Ctrl+a`或`Home`可以快速切换到命令行的开始位置,而`Ctrl+e`或`End`则可以快速切换到...

    Linux Shell编程笔记

    该笔记包含了Shell脚本的基础知识、常用命令和技巧,以及实际的编程示例和案例。无论您是初学者还是有一定经验的用户,这份笔记都能帮助您加强Shell编程技能并提高工作效率。特点:- 提供了基础知识,包括变量、流程...

    linux-常用命令学习笔记.pdf

    以上就是Linux系统中一些常用命令的学习笔记。每个命令后面通常可以跟上不同的选项和参数,来满足不同的需求。掌握这些命令,对于Linux系统的日常运维工作至关重要。随着时间的推移,建议持续学习和实践,不断提高对...

    linux shell语言基础笔记 xmind

    在Linux中,最常用的Shell包括Bash(Bourne-Again SHell),这是大多数Linux发行版的默认Shell。Shell脚本本质上是一系列的命令,这些命令可以按照特定顺序执行,从而实现自动化任务。下面是一些核心概念: 1. **...

    Linux学习笔记【博文整理系列】

    Linux笔记——linux常用命令集合 Linux笔记——命令:awk Linux笔记——命令:sed Linux笔记——命令:grep Linux笔记——命令:find Linux笔记——命令:Sort,uniq,join,cut,paste,split Linux笔记——shell基础:...

    linux shell 笔记 (未整理)

    这篇笔记将探讨一些基本的Shell概念、常用命令以及如何编写简单的Shell脚本。 一、Shell种类 Linux中有多种Shell,如Bash(Bourne Again SHell)、C Shell、Korn Shell和Z Shell等。其中,Bash是最常见且广泛使用...

    Linux和shell脚本学习笔记

    例如,`cd`命令用于切换目录,`ls`列出目录中的文件,`vim`则是一个常用的文本编辑器,用于编写或修改程序代码。在Ubuntu中,可以通过`gcc`和`g++`这样的编译器将源代码编译为可执行文件,如`gcc hello.c -o hello`...

    Linux常用命令文档和命令大全

    本压缩包文件"Linux常用命令文档和命令大全"包含了两份宝贵的资源,分别是"Linux命令大全(修改版).chm"和"Linux学习笔记.doc",它们都是深入理解和熟练掌握Linux操作系统的宝贵资料。 "Linux命令大全(修改版).chm...

    大一linux常用命令大全笔记

    以下是一份详细的大一Linux常用命令大全笔记: 1. **ls** - 列出目录内容 使用`ls`命令可以查看当前目录中的文件和子目录。加上 `-l` 参数会以详细列表形式显示,`-a` 参数则会显示所有文件,包括隐藏文件。 2. *...

    Linux命令大全笔记

    ### Linux命令大全笔记 ...以上涵盖了Linux命令大全笔记中的主要知识点,包括常用的文件处理命令、系统信息查询命令以及其他实用的技巧。这些命令在日常的开发工作中非常有用,能够极大地提高工作效率。

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!

    linux shell Sed学习笔记

    ### Linux Shell Sed 学习笔记:深入理解与实践 #### Sed 概览 Sed(Stream Editor)是一种功能强大的文本处理工具,适用于Unix/Linux环境下的流编辑操作。它能够读取输入流(如文件或标准输入),进行模式匹配、...

    Shell-脚本常用命令-文档.doc

    整理了一份Linux shell学习笔记及基本命令合集,包含了LINUX常用操作命令和命令行编辑快捷键、shell基本命令,Linux相关使用配置教程等,需要的朋友可下载试试! shell是一个用C语言编写的程序,它是用户使用Linux的...

    linux 基础编程所用的命令和shell入门到精通笔记

    自己看完了linux入门到精通的笔记整理,还有一些linux大部分所有常用的命令笔记,可以值得看看!

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

Global site tag (gtag.js) - Google Analytics