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

时间: 2024-08-21 14:21:25

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 常用基础命令 vi

Vi 文本编辑器 1.  命令功能:vi是"visual interface"的缩写,vim是vi IMproved(增强版的vi).在Linux下的文本编辑器有很多种,vi (vim)是最常用的,也是各版本Linux的标配.注意:vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能.在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim. 2.  命令格式: [[email protected]~]#vi [选

目前最完整的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 常用基础命令

---恢复内容开始--- 1.显示文件目录列表命令 ls 格式:ls [-option] <path or filename> 参数: -l长列表,相当于详细列表 -a列出所有文件,包括隐藏文件 -t按照修改时间排列 --full-time 显示全时间格式 -r 倒序 -s 显示文件及文件夹大小 -h 以人类能够理解的方式显示 1.1   ls  -a  列出所有文件,包括隐藏文件 1.2 -l长列表,相当于详细列表 -:普通文件 d:目录 l:软链接 第一个root:所有者 第二个root:

linux 常用基础命令 mkdir

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

Linux系统常用基础命令

Linux系统常用基础命令 cd->切换目录: pwd->显示当前所在的绝对目录; chmod->用于改变linux系统文件或目录的访问权限; ls->不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等; mkdir->创建文件夹; rm->删除一个目录中的一个或多个文件或目录; rmdir->从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对其父目录的写权限;注意:不能删除非空目录; mv-&g