shell 编程学习笔记(一)

1) 一些基本命令:

date 显示时间日期

who 查看登录用户

who am i

echo 显示字符,对于字符间的空格,会删除只剩一个

2) 文件操作

ls 列出目录中存了哪些文件,不同颜色表示了不同的文件类型,ls -1表示强制单列输出结果

cat names 查看文件内容

wc names 统计文件中的行数、单词数、字符数、names

  wc -l/-c/-w names 分别单独显示行数/单词数/字符数

  wc -l -w names

cp names save-names  复制文件,names复制为save-names 

  cp name1 name2 name3 document,将name1 name2 name3文件复制到document文件夹中 

mv names save-names  改名,names 改名为save-names

rm name1 name2 name3 删除文件,可以同时删除多个

3)目录操作

Unix是以目录来组织文件的,/表示的是根目录,以/开头的路径也称为绝对路径,否则的话称为相对路径,因为它是相对于当前路径的路径。

.. 表示的是上一层目录, .表示当前目录

pwd 显示当前工作目录

cd document路径 改变当前路径的命令

ls document 显示document包含的文件

ls -l, 可以显示文件的详细属性

mkdir document 创建文件

ln from to 用一种简单的方式为一个文件提供多个文件名,它与cp的区别在于cp是两个独立的文件,ln出来的两个文件不适完全独立的,因为任意一个修改都会导致另外一个与其同步。ln name document,这样,document下就会有一个name的同名链接。

rmdir document 删除目录,不过这个命令只适用于document不包含其他文件的情况。

rm -r dir 这个命令可以解决上面的情况。

4)文件名替换

* 匹配任意字符,0个或以上的字符

? 匹配一个字符

ls  [a-z]*[0-9] 以字母开头,数字结尾的文件名

 5)标准输入输出以及输入输出重定向

 标准输入以Ctrl+D结束,从终端输出

> files,输出重定向,将结果输出到files。例子:who > files,who 的结果将不在终端输出,而是在files文件中输出

>> files, 因为>符号重复输出到files文件,将会导致文件被覆盖, >>将可以实现在文件爱昵的末尾追加输出结果。

    cat file1 >> file2,可以将file1追加到file2

< files, 输入重定向, 例子,wc < files,从files中读入数据

6)管道

| 管道,将一条命令的输出作为另外一条命令的输入,从左到右执行,例子:ls | wc

7)其他

; 一行输入多个命令,他们之间用分号隔开

& 在命令后面跟一个&,可让命令在后台执行

ps 显示进程ID

ps -f更详细的进程情况 

原文地址:https://www.cnblogs.com/ManMonth/p/1945290.html