`

shell命令, shell脚本linux操作

 
阅读更多

1、ls:类似于dos下的dir命令

ls最常用的参数有三个:-a -l -F。

ls –a

Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。

ls –l

该参数显示更详细的文件信息。

ls –F

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

2、cd:用于切换用户当前工作目录

cd aaa进入aaa目录

cd命令后不指定目录,会切换到当前用户的home目录

cd ~作用同cd后不指定目录,切换到当前用户的home目录

cd -命令后跟一个减号,则会退回到切换前的目录

cd ..返回到当前目录下的上一级目录

3、pwd:用于显示用户当前工作目录

4、mkdir和rmdir

midir:创建目录rmdir:删除目录

两个命令都支持-p参数,对于mkdir命令若指定路径的父目录不存在则一并创建,对于rmdir命令则删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir命令

如下:

mkdir -p 1/2/3

rmdir -p 1/2/3

5、cp:复制命令

复制一个文件到另一目录:cp 1.txt ../test2

复制一个文件到本目录并改名:cp 1.txt 2.txt

复制一个文件夹a并改名为b:cp -r a b

6、mv:移动命令

将一个文件移动到另一个目录:mv 1.txt ../test1

将一个文件在本目录改名:mv 1.txt 2.txt

将一个文件一定到另一个目录并改名:mv 1.txt ../test1/2.txt

7、rm命令

rm命令用于删除文件,与dos下的del/erase命令相似,rm命令常用的参数有三个:-i,-r,-f。

–i:系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。需要注意,linux下删除的文件是不能恢复的,删除之前一定要谨慎确认。

–r:该参数支持目录删除,功能和rmdir命令相似。

–f:和-i参数相反,-f表示强制删除

8、du、df命令

du命令可以显示目前的目录所占用的磁盘空间,df命令可以显示目前磁盘剩余空间。

如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况。

du -hs指定目录查看指定目录的总大小

du -hs ./*查看当前目录下的所有文件夹和文件的大小

这两个命令都支持-k,-m和-h参数,-k和-m类似,都表示显示单位,一个是k字节一个是兆字节,-h则表示human-readable,即友好可读的显示方式。

9、cat命令

cat命令的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。用法如下:

cat file1显示file1文件内容

cat file1 file2依次显示file1,file2的内容

cat file1 file2 > file3把file1, file2的内容结合起来,再“重定向(>)”到file3文件中。

">"是右重定向符,表示将左边命令结果当成右边命令的输入,注意:如果右侧文件是一个已存在文件,其原有内容将会被清空,而变成左侧命令输出内容。如果希望以追加方式写入,请改用">>"重定向符。

如果">"左边没有指定文件,如:cat >file1,将会等用户输入,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输入内容写入file1。

10、echo命令

echo命令的使用频率不少于ls和cat,尤其是在shell脚本编写中。

语法:echo [-ne][字符串]

功能:echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开,并在最后加上换行符。

参数

-n显示字串时在最后自动换行

-e支持以下格式的转义字符,-E不支持以下格式的转义字符

/a发出警告声;

/b删除前一个字符;

/c最后不加上换行符号;

/f换行但光标仍旧停留在原来的位置;

/n换行且光标移至行首;

/r光标移至行首,但不换行;

/t插入tab;

/v与/f相同;

//插入/字符;

/nnn插入nnn(八进制)所代表的ASCII字符;

示例

oracle@hjtest:~/hgd> echo "123" "456"

123 456

oracle@hjtest:~/hgd> echo "123/n456"

123/n456

oracle@hjtest:~/hgd> echo -e "123/n456"

123

456

oracle@hjtest:~/hgd> echo -E "123/n456"

123/n456

oracle@hjtest:~/hgd> echo -E "123///456"

123//456

oracle@hjtest:~/hgd> echo -e "123///456"

123/456

oracle@hjtest:~/hgd> echo -e "123/100456"

123@456

注意事项

在Linux使用的bash下,单引号’’和双引号是有区别的,单引号忽略所有的转义,双引号不会忽略以下特殊字符:

Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)

示例如下:

oracle@hjtest:~> echo "`TEST`"

-bash: TEST: command not found

oracle@hjtest:~> echo '`TEST`'

`TEST`

oracle@hjtest:~> echo "$TEST"

oracle@hjtest:~> echo '$TEST'

$TEST

oracle@hjtest:~> echo "//TEST"

/TEST

oracle@hjtest:~> echo '//TEST'

//TEST

oracle@hjtest:~> echo "Hello!"

echo "Hello"

Hello

oracle@hjtest:~> echo 'Hello!'

Hello!

11、more,less,clear

nmore,less命令

这两个命令用于查看文件,如果一个文件太长,显示内容超出一个屏幕,用cat命令只能看到最后的内容,用more和less两个命令可以分页查看。more指令可以使超过一页的文件内容分页暂停显示,用户按键后才继续显示下一页。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,更方便浏览阅读。

less的常用动作命令

回车键向下移动一行;

y向上移动一行;

空格键向下滚动一屏;

b向上滚动一屏;

d向下滚动半屏;

h less的帮助;

u向上洋动半屏;

w可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;

g跳到第一行;

G跳到最后一行;

p n%跳到n%,比如10%,也就是说比整个文件内容的10%处开始显示;

/pattern搜索pattern,比如/MAIL表示在文件中搜索MAIL单词;

v调用vi编辑器;

q退出less

!command调用SHELL,可以运行命令;比如!ls显示当前列当前目录下的所有文件;

nclear命令

clear命令是用来清除当前屏幕显示的,不需任何参数,和dos下的cls命令功能相同。

12、head,tail

nhead和tail命令都用于查看文本文件,区别在于:head显示文件的头n行,tail显示文件的尾n行,缺省情况n都为10行。可以通过-n方式指定行数,如:

head -100 file和tail -100 file分别表示显示文件头100行和尾100行内容。

ntail -f命令可以实时查看文件新增内容。

13、wc命令

该命令用于统计指定文件中的字节数、字数、行数。该命令各选项含义如下:

-l统计行数

-w统计字数

-c统计字节数

这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

oracle@hjtest:~> wc 1.txt 2.txt

4601679 16353 1.txt

3001095 10665 2.txt

7602774 27018总用量

oracle@hjtest:~> wc -l 1.txt

460 1.txt

缺省参数为-lcw,即wc file1 file2命令的执行结果与上面一样。

14、grep命令

grep是(global search regular expression(RE) and print out the line的缩写,用于从文件面搜索包含指定模式的行并打印出来,它是一种强大的文本搜索工具,支持使用正则表达式搜索文本。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被””引用,模板后的所有字符串被看作文件名。搜索结果送到屏幕,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

示例

$ ls -l | grep '^a'

通过管道过滤ls -l输出的内容,只显示以a开头的行。

$ grep 'test' d*

显示所有以d开头的文件中包含test的行。

$ grep 'test' aa bb cc

显示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]/{5/}' aa

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep 'w/(es/)t.*/1' aa

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(/1),找到就显示该行。如果用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就可以了。

15、man,logout命令

man命令

man是manual的缩写,相当于Unix/Linux的联机Help,每个系统命令和调用都有非常详细的说明,绝大多数都是英文。如:man ls即是查看ls命令的使用说明,一般还有另一种方法用来查看帮助,如:ls –help,这种方式绝大多数命令都支持。

logout命令

该命令用于退出系统,与login命令对应。

16、管道和xargs
管道:
  

利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

注意:管道左边命令的输入作为管道右边命令的输入(命令的输入是一定的),不是参数,并不是所有命令都支持管道

例子:ls | grep a查看当前目录下名称包含a的文件或文件夹

xargs

大多数Linux命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file命令显示文件类型(可执行文件、ascii文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给ls -l命令以查看时间戳记。xargs命令就是用来完成此项工作的。
注意:find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去

例子:

1、在整个系统中查找内存信息转储文件(core dump),然后把结果保存到/tmp/core.log文件中:

$ find / -name "core" -print | xargs echo "" >/tmp/core.log

2、当一个目录下文件太多时,直接用rm *命令会包参数过长,用如下方法可以全部删除

$ls | xargs rm

17、basename和dirname

basename用于查看文件不含路径的名字,dirname则用于查看文件路径,使用效果我们测试一下便知:

> basename /home/hj/1.txt

1.txt

> dirname/home/hj/1.txt

/home/hj

> basename 1.txt

1.txt

> dirname 1.txt

.

18、不带任何参数的set命令将显示shell的全部变量

分享到:
评论

相关推荐

    Linux操作系统Shell脚本.zip

    Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统...

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    Linux通过Shell脚本命令修改密码的两种方式

    使用该命令会有提示,即进入了交互界面,输入密码即可。 使用脚本修改密码 很多时候我们可能需要远程执行服务器上的脚本来修改账号密码,此时就没有办法进行交互了。 此时可以使用如下两种方式修改密码: 方式1: ...

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

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

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    Linux常见命令与shell脚本

    Linux常用命令 2 1.1 su用户切换 2 1.2 useradd 添加用户 2 1.3 passwd修改口令 2 1.4 ls查看文件/目录 3 1.5 cd改变工作目录 4 1.6 pwd显示工作目录 4 1.7 mkdir创建目录 5 ...4.2 shell脚本基本语法 24

    linux下shell脚本实现数据的导出

    在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...

    Linux shell脚本.rar

    sy2visor1.0.txt为实验2写的初始shell版本,sy12内去掉了下载软件(install samba等命令),sy1-2保留了下载软件命令,这两个shell脚本是实验1加实验2合起来的可通过记事本打开看源代码。 使用的操作系统:Linux ...

    linux命令行与shell脚本编程.pdf

    linux命令行与shell脚本编程.pdf

    LinuxShell脚本学习基础视频

    Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_shell脚本编程...

    linux常用命令以及shell脚本

    linux常用命令以及shell脚本,常用技巧的使用

    Linux 系统命令及 Shell 脚本实践指南

    《Linux 系统命令及 Shell 脚本实践指南》是一本全面介绍 Linux 操作系统中常用命令和 Shell 脚本编程的书籍。对于任何想要深入理解和掌握 Linux 系统管理的用户来说,这本书都是不可或缺的资源。下面将详细阐述书中...

    shell命令/shell脚本编写教程

    在IT行业中,Shell脚本是Linux/Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。这个“shell命令/shell脚本编写教程”涵盖了如何在Linux或BSD环境下有效利用...

    Shell脚本学习指南_中文版,shell脚本基础,LINUX

    在IT领域,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,它是一种强大的自动化工具,能够帮助用户执行一系列命令,简化日常任务。这个“Shell脚本学习指南_中文版”涵盖了从基础到进阶的Shell脚本知识,是...

    linux 通讯录shell脚本

    linux通讯录的shell脚本,很多linux大作业都需要

    Linux简介及安装和常见命令与shell脚本

    本教程将分为两大部分,分别介绍Linux的基础知识和安装过程,以及Linux命令与Shell脚本的详细应用。 一、Linux简介及安装 1. Linux发行版:Linux并不是单一的操作系统,而是一系列基于Linux内核的开源操作系统发行...

    Linux的shell脚本

    Shell 脚本的主要作用是帮助用户更方便地使用 Linux 操作系统。 一、 Shell 介绍 Shell 是一个用 C 语言编写的程序,它被称为用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 脚本...

    shell命令ssh自动登录linux服务器

    对于开发人员来说大多数时候都需要登录linux服务器,每次需要输入密码很是麻烦,shell脚本可以将每次输入验证步骤简化,只需要切换到脚本所在目录,输入“ ./ ssh_login.sh”即可实现自动登录

Global site tag (gtag.js) - Google Analytics