Linux常用基础命令操作(二)

10  >输出重定向 文件不存在则创建文件,文件存在则清空内容 放入>左边的内容  比较危险 建议备份后操作

>>追加输出重定向,在文本结尾追加内容,不删除原内容

<输入重定向

<<追加输入重定向

箭头指向为数据流向

[[email protected] abc]# cat >>white.txt<<EOF
> i am white bai
> thankyou
> EOF
[[email protected] abc]# cat white.txt
i am white bai
thankyou
[[email protected] abc]# > white.txt
[[email protected] abc]# cat white.txt 
[[email protected] abc]# echo "who are you">>white.txt
[[email protected] abc]# cat white.txt
i am white bai
thankyou
who are you

0是标准输入:一般配合<<   <使用,数据流从右到左

1是标准正常输出,一般配合>>  >使用,数据流从左到右

2是标准错误输出,把错误内容输入到后面的文件,数据流从左到右

2>错误重定向,把错误的信息输入到后面文件,删除原有文件

2>>错误追加重定向,把错误的信息追加到后面文件,不删除原内容

[[email protected] abc]# cat a.txt
qwe
[[email protected] abc]# cat b.txt
[[email protected] abc]#
[[email protected] abc]# eho qwe 1>a.txt 2>b.txt
[[email protected] abc]# cat a.txt
[[email protected] abc]# cat b.txt
-bash: eho: command not found

如果a内正确和错误的都写一个文件echo qwe 1>a.txt 2>a.txt(麻烦)一般写为echo qwe 1>a.txt 2>&1(推荐)或echo qwe &>a.txt(错误输出和正确输出在一个位置)

11、cp   拷贝,复制

常用参数

-r 递归  -p连同文件属性一起拷贝 -d 目录    -a等价于-pdr    -i覆盖前提示(默认)

不加参数只能复制文件

[[email protected] abc]# cp a.txt  /tmp/
[[email protected] abc]# ll /tmp/
total 6372
-rw-r--r--  1 jenkins jenkins   19673 Sep 12 20:59 akuma304166024346870543jar
-rw-r--r--  1 jenkins jenkins   19673 Sep 10 18:41 akuma6786136470976806683jar
-rw-r--r--  1 root    root          0 Sep 20 22:27 a.txt
[[email protected] data]# cp abc/ /tmp/
cp: omitting directory ‘abc/’
[[email protected] data]# cp abc/ /tmp/ -a
[[email protected] data]# ll /tmp/
total 6372
drwxr-xr-x  3 root    root         60 Sep 20 22:21 abc
[[email protected] data]# cp abc/ /tmp/ -a
cp: overwrite ‘/tmp/abc/white.txt’? 

如果想覆盖不提示  \cp  使用则覆盖不提示

12、mv  移动,修改文件名

常用参数

-r 递归  -p连同文件属性一起移动 -d目录    -a等价于-pdr

不加参数只能复制文件

[[email protected] data]# cd abc/
[[email protected] abc]# mv a.txt  ../asd/
[[email protected] abc]# tree
.
├── bas
├── b.txt
└── white.txt

1 directory, 2 files
[[email protected] abc]# tree ../asd/
../asd/
└── a.txt

注意 移动多个文件到目录  结尾一定是目录

13、rm 删除文件

常用参数

-f 强制删除 -r删除目录 (普通文件不能加-r)   rm -fr 删除后无法恢复

[[email protected] abc]# cp b.txt b.txt.bak
[[email protected] abc]# ll
total 12
drwxr-xr-x 2 root root  6 Sep 20 15:58 bas
-rw-r--r-- 1 root root 30 Sep 20 22:22 b.txt
-rw-r--r-- 1 root root 30 Sep 20 22:33 b.txt.bak
-rw-r--r-- 1 root root 37 Sep 20 22:14 white.txt
[[email protected] abc]# rm -f b.txt
[[email protected] abc]# ll
total 8
drwxr-xr-x 2 root root  6 Sep 20 15:58 bas
-rw-r--r-- 1 root root 30 Sep 20 22:33 b.txt.bak
-rw-r--r-- 1 root root 37 Sep 20 22:14 white.txt
[[email protected] abc]# rm -fr bas/
[[email protected] abc]# ll
total 8
-rw-r--r-- 1 root root 30 Sep 20 22:33 b.txt.bak
-rw-r--r-- 1 root root 37 Sep 20 22:14 white.txt

删除的正确操作(谨慎操作)
a,删除文件前使用mv命令移动到/tmp替代删除
b,进入目标目录cd;find . -type f -name " " |xargs rm -i(通过管道传递后没有-i不会提醒是否删除)

14、find  查找文件

常用参数

-type 查询类型 f文件 d目录 c字符 b磁盘 s(通信用) l链接

-a 交集 (默认) -o 并集

-name 查询名字  -maxdepth 查找深度(几级目录) -mtime 修改时间 +7 7天前 同理(-ctime修改时间 -atime接入时间 均不常用)

[[email protected] abc]# find /data -type f -name "a.txt"
/data/asd/a.txt
[[email protected] abc]# find /data -type f -name "a.txt" -exec rm {} \;
#等价于(建议使用下面命令)
[[email protected] abc]# find /data -type f -name "a.txt" |xargs rm -f;  
[[email protected] ~]# find /data -type f ! -name "*.sh" -mtime +7|xargs cat
[[email protected] ~]# find /log -type f -name "*oldboy" -mtime +15|xargs rm -rf

| 管道   把所有东西放在一起

15、grep 过滤

常用参数

-v 过滤掉后面的内容排除后打印

-n对匹配的内容打印行号 (不常用)

-w按照单词搜索相当于 \b边界 (不常用)

\b边界  \n换行  (不常用)

-i不区分大小写

egrep 等价于grep -E  扩展grep可以过滤多个

[[email protected] ~]# grep 3306 /etc/services
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL
[[email protected] ~]# grep -i \(mysql /etc/services         #查找(mysql  不区分大小写
sphinxql        9306/tcp                # Sphinx search server (MySQL listener)
#\ 转义
[[email protected] ~]# egrep "3306|1521" /etc/services
#或
[[email protected] ~]# grep -E "3306|1521" /etc/services
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL
ncube-lm        1521/tcp                # nCube License Manager
ncube-lm        1521/udp                # nCube License Manager
mysql           3306/tcp                        # MySQL
mysql           3306/udp                        # MySQL
ncube-lm        1521/tcp                # nCube License Manager
ncube-lm        1521/udp                # nCube License Manager

16、alias  查看或设置系统现有的别名

(可以为一些危险命令加一些保护参数,防止互操作,可以把复杂的字符串和命令变成的简单的字符串,可以定义命令alias a=‘cp‘ a就可以进行cp一样的操作了;该命令位置为内存内,建议保存至/etc/profile或者~/.bashrc就永久生效)

[[email protected] ~]# alias cp
alias cp=‘cp -i‘
[[email protected] ~]# alias ll
alias ll=‘ls -l --color=auto‘

17、unalias 删除系统命令的别名

cp为cp -i(-i提示是否确认)不推荐使用,理解原理

18、seq 序列(只能生成数字序列)

常用参数  -w相等长度   seq 1 2 10   从1-10 间隔2

[[email protected] ~]# seq 1 2 10 >1.txt
[[email protected] ~]# seq -w 1 2 10 >2.txt
[[email protected] ~]# cat 1.txt
1
3
5
7
9
[[email protected] ~]# cat 2.txt
01
03
05
07
09

19、tree 目录树状显示

常用参数

-d只显示目录 -L 数字 最多显示数字层的目录  -f显示完整目录结构  -i显示目录不打印树枝 -F区分普通文件和特殊文件

[[email protected] ~]# tree /data/abc/
/data/abc/
├── b.txt.bak
├── white.txt
└── www
    └── asd
        └── aaa

3 directories, 2 files

[[email protected] ~]# tree -L 2 /data/abc/
/data/abc/
├── b.txt.bak
├── white.txt
└── www
    └── asd
[[email protected] ~]# tree -dL 1 /data/abc/
/data/abc/
└── www
[[email protected] ~]# tree -f /data/abc/
/data/abc
├── /data/abc/b.txt.bak
├── /data/abc/white.txt
└── /data/abc/www
    └── /data/abc/www/asd
        └── /data/abc/www/asd/aaa
[[email protected] ~]# tree -i /data/abc/
/data/abc/
b.txt.bak
white.txt
www
asd
aaa

原文地址:https://www.cnblogs.com/wlbl/p/9683904.html

时间: 09-20

Linux常用基础命令操作(二)的相关文章

Linux常用基础命令

Linux基础命令 -----------------目录部分------------------- [pwd]显示当前所在的绝对目录 [cd] 切换目录 cd -  显示上一个工作目录 cd ~  显示当前用户的家目录 cd .  显示当前目录 cd .. 显示当前目录的上一级目录 [[email protected] ~]# cd /usr/ [[email protected] usr]# ls bin etc games include lib libexec local my sbin

linux 常用基础命令 cat 详细介绍

cat 输出文件内容: 命令说明:cat(Concatenate的缩写),一条linux内置命令,把一个或者多个文件连接在一起,并标准输出或输入.常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示.它常与重定向符号配合使用. 命令功能: a)  一次显示整个文件:catfilename b)  从键盘创建一个文件:cat> filename 只能创建新文件,不能编辑已有文件 c)  将几个文件合并为一个文件:catfile1 file2 > file 注: cat f

目前最完整的Linux常用基础命令

显示Linux系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 – (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/mem

linux 常用基础命令 tar 详细介绍

[命令介绍] tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案.利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的. 首先要弄清两个概念:打包和压缩. 打包是指将一大堆文件或目录变成一个总的文件: 压缩则是将一个大的文件通过一些压缩算法变成一个小文件.

linux 常用基础命令 ls

cd 切换目录   命令功能:切换当前目录至dirName: Windows 操作系统中的文件夹,在Linux中称为目录.目录是包含几组文件和其他目录的容器.所有目录从根目录向下扩展,根目录用正斜杠(/)表示.例如:/usr 是根目录(/)的一个子目录./usr/spool 目录是 /usr 的一个子目录./usr/spool/mail 目录是 /usr/spool 的一个子目录. 命令格式: [[email protected] ~]#cd 目标目录 命令参数: 命令实例: 实例1:进入系统根

linux 常用基础命令 mkdir

mkdir创建目录或文件夹 命令功能:mkdir (make directory) 创建目录或文件夹,创建的用户在当前目录中需要具有写权限.使用mkdir命令创建指定的目录或文件夹名,要求并且指定的目录名不能是当前目录中已有的目录.同一个目录下不能有同名的(区分大小写). 命令格式: [[email protected] ~]#mkdir [选项]目录名称 命令参数: 命令实例: 实例1:创建一个空目录 [[email protected] test]#mkdir test1 [[email p

Linux入门基础命令(四)

Linux入门基础命令(四)文件系统与目录结构: 1.文件和被组织成一个单根倒置树结构2.文件系统从根目录下开始,用"/表示"3.以.开头的文件为隐藏文件4.路径分割的 /5.文件有两类数据(元数据:metadata 数据:data)6.文件系统分层结构:LSB(Linux Standard Base)FHS:(Filesystem Hierarchy Standard)7.文件名最长255个字节8.包括路径在内文件名称最长4095个字节9.蓝色-->目录 绿色-->可执行

Linux常用高频命令(自总结)

Linux常用高频命令(自总结) 在Linux环境下使用一些命令行和shell编程已经有很长时间了,一直想写一篇关于linux命令行和shell编程的文章,但被一些事情搁置下来了.今天抽出一些时间把Linux下常用的高频命令一个个亲自验证之后写了这篇文章.很多命令可能你用过,但是有时候可能记得有点模糊.这里将它系统的列举出来,希望能对自己和他人有些许帮助. 文件或目录的创建和删除 1)创建文件与目录 1)touch  file1  file2  file3 2) mkdir  -p  dir1/

Linux系统管理——基础命令篇

终于开始接触Linux,现在是一个标准的菜鸟,那么就踏踏实实,一步一步开始进阶,希望我的博客慢慢可以给后来人带来帮助. 废话少说,下面就是我所接触的Linux系统管理的一些基础命令,以及我个人添加的命令的释义,还望大大们多多指教. 一.Linux命令行基础 [[email protected] ~]# uname -r       //查看内核版本 [[email protected] ~]# uname -a       //查看内核相关详细信息 [[email protected] ~]#

Linux入门基础命令—cp

Linux入门基础命令-cpcp格式有以下几种 A1.如果SOURCE是一个文件,目标文件不存在:当将SOURCE复制到另外一个当前目录下不存在的文件(会新建这个文件)比如下面的这个例子是把issue复制到abc文件中,而本来当前目录app是不存在abc这个文件的,当进行复制的时候会自动生成abc这个文件,当然这两个文件只是名字不同大小是一样的: A2.如果将上述的命令再执行一遍,本来abc这个文件是已经有内容了,若再去执行,那么issue中的内容将会覆盖掉原来abc中的内容(下面红色箭头所指的