linux发送文件命令 linux发送文件到另一个服务器( 四 )


This is a test.
到文件的标准输入可以用符号来重定向:
$ cattest2.out
错误消息用 2; 和 2;; 来重定向和添加,格式如下:
$ command 2; name_of_error_file
要避免无意地覆盖一个现有的文件,使用 BASH 内置的命令集:
$ set -o noclobber
可以在命令和输出文件之间用 ;! 符号来重载这个特性 。要关闭这个特性,用 +o 代替 -o 。
重定向在一个命令和文件之间、或文件和文件之间工作 。重定向语句的一项必须是一个文件 。
管道使用 |符号 , 并且在命令之间工作 。例如,您可以用以下方式将一个命令的输出直接发送到打印机上:
$ ls -l * | lpr
可以用以下方式快速地找到历史列表中的一个命令:
$ history | grep cat
更多的滤波器
Grep、fgrep 和 egrep 都显示匹配一种模式的行 。所有这三个命令都在文件中搜索指定的模式,如果您想不起来一个所需文件的名称,这将非常有用 。基本格式是:
grep [options] PATTERN [FILE...]
$ grep -r 'Subject' nsmail
CTRL-Z 将终止上述或其它任何命令 。
grep 的最有用的选项可能是 -s 。如果您以除根用户之外的任何身份搜索系统文件,那么对于每一个您没有访问权限的文件,都将产生错误消息 。这个命令禁止那些消息 。
Fgrep(也以 grep -F 调用)只查找固定的字符串,而不是 grep 接收的正则表达式 。而 egrep 接收包含更大范围的特殊字符(如 “|”,它指示条件 OR 运算符)的模式 。
$ egrep 'Subject|mailto' *
查找文件
find 命令的 GNU 版本非常强大、灵活并且比 UNIX 系统上存在的经典版本更具包容性 。它对于涉及到目录结构的任务非常有用 , 包括在文件上查找和执行命令 。find 命令的基本格式是:
$ find startdirectory options matchcriteria [actionoptions]
如果您知道文件的名称、或者甚至名称的一部分,但不知道它所处的目录,您可以这么做:
$ find .-name 'test*'
./test
./jdevhome/mywork/EmpWS/EmpBC4J/test
与经典的 UNIX 系统不同,在 Linux 中不需要在末尾添加 -print 操作,因为如果没有指定其它的操作选项,就将假定执行这个操作 。在目录起始位置上的一个点 ( . ) 将使 find 在您的工作目录中开始搜索 。两个点,..,在父目录中开始搜索 。您可以在任意目录下开始搜索 。
注意,您可以使用通配符作为搜索准则的一部分(只要用单引号将整个项目括起来) 。
$ find .-name 'test*' -print
./test.out
./test2.out
显示拥有 .out 扩展名的一系列文件:
$ find /home -name '*.out'
不过记住,除非您是作为超级用户运行这个命令,否则您将可能得到许多的 "ermission denied" 错误消息 。
最强大的搜索工具之一是和 grep 一起使用的 -exec 操作:
$ find .-name '*.html' -exec grep 'mailto:foo@yahoo.com' {} \;
.,查找一个 html 文件,*.html,并在当前文件上执行 (-exec) grep 命令 , {} 。当使用 -exec 操作时 , 需要一个分号 ;,这是用来在使用 find 命令时执行其它一些操作 。需要反斜线 \ 和引号来确保这些项目通过 BASH,以使它们由命令而不是 shell 来进行解释 。
Linux常见命令权限管理命令 chmod
英文愿意: change the permissions mode of a file
语法: chmod[{ugoa}{+-=}{rwx}] [文件或目录]
[mide = 421] [文件或目录]
-R 递归修改
权限的数字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
764
例子:mkdir/temp创建了一个目录
touch/temp/testfile 在该目录下创建了一个test file文件
chmod 777 /temp 改变了一下该目录的权限

推荐阅读