Centos 03 基础命令

切换目录

cd ~    切换到当前用户的家目录
cd -     切换到上一次的目录

上传与下载

支持包在Dial-up Networking Support选项里,没有装可以通过

1、yum install lrzsz -y
2、yum groupinstall "Dial-up Networking Support" -y
下载文件:
    sz -y install.log(-y表示覆盖)
上传到服务器
    rz -y 找到内容
只能上传下载文件
上传文件可以是任意文件

在使用远程工具上:root用户的命令后标记是#号,而一般用户的话则是$号

一些基础命令

ls -ld                                =>    以长目录的格式显示目录,-a 显示目录的隐藏文件
touch file.txt                        =>    新建文件,如果文件存在就改变文件的访问时间
pwd                                   =>    查看当前路径
cp    a.txt /usr/                     =>    复制文件a.txt到/usr/路径
cp -a /etc/aaa/    /tmp/              =>    拷贝目录到tmp文件夹下,正常用-a不用-r,a=dpr
cp -r                                 =>    递归的拷贝目录
cp -p                                 =>    连同文档属性一起复制过去,而非使用默认属性
\cp /data/dandy.txt /test/            =>    拷贝到另一个目录,覆盖文件,不提示是否覆盖
mv    /data /root/                    =>    把根下面的data目录移到root的目录下面
xargs                                 =>    用于把find/ls的输出交给后面处理
~ 当前用户家目录
| 管道;把前一个命令的输出交给另一个命令继续处理,两边不需要空格

 

cat命令

cat    aa.txt                            =>    查看文件内容
cat -n aa.txt                            =>    显示行号

 

进阶

输入内容覆盖文件,注意这里是键入回车的一行,然后输入ctrl + d,特别是在mac上不是command + d!!!!

[dandy@centos7 ~]$ cat dandy.txt 
a
b
c
[dandy@centos7 ~]$ cat > dandy.txt 
1
2
3
^C
[dandy@centos7 ~]$ cat dandy.txt 
1
2
3

追加进文件;>>代表追加;<<代表输入

[dandy@centos7 ~]$ cat >> dandy.txt << 11
> elina
> dandy
> taylor
> 11
[dandy@centos7 ~]$ cat dandy.txt 
1
2
3
elina
dandy
taylor
[dandy@centos7 ~]$ 

另一种简单追加方法:同理是ctrl + d

[dandy@centos7 ~]$ cat >> dandy.txt 
time1
time2
# 回车到空行 ctrl + d [dandy@centos7 ~]$ cat dandy.txt 1 2 3 elina dandy taylor time1 time2 [dandy@centos7 ~]$

 

echo命令

[dandy@centos7 ~]$ echo "hello"
hello  # 屏幕打印
echo {a..f}
echo {1..7}      =>     打印输出、横向

进阶:

重定向,单行文本覆盖文件,有内容全部丢失

[dandy@centos7 ~]$ echo "write your words" > dandy.txt
[dandy@centos7 ~]$ cat dandy.txt 
write your words  
[dandy@centos7 ~]$ 

追加重定向,追加到现有文件的结尾部分

[dandy@localhost ~]$ echo 'adding to the end' >> dandy.txt 
[dandy@localhost ~]$ cat dandy.txt 
write your words
adding to the end
[dandy@localhost ~]$ 

> 标准输入重定向

< 标准输出重定向

 

 

vi命令

   a        或者i进入编辑模式
    :q       保存
    :wq!      强制保存        
    :set nu    显示行号    
    dd        删除当前行
    yy        拷贝当前行
    p         粘贴
    2gg       定位行号
    G        切换到文件尾
    gg        切换到文件头 

vimdiff dandy.txt dandy1.txt  # 比较两个文件的差异

 

mv dandy.txt /data/                      =>  将dandy.txt文件移到/data/目录下,如果后面/data/变成/data/dandy111.txt就有了改名的功能
mv /data /usr/                           =>  将data文件目录移到/usr/目录里面
rm dandy.txt                            =>  删除文件
rm -f dandy.txt                         =>  强制删除
rm -r /data                         =>  删除目录
rmdir data                           =>  删除空目录  鸡肋的命令            

 

find命令

find / -type f -name "dandy.txt"    =>    在/根目录查找 类型文件,名字cat
find / -type f -name "dandy.txt" -exec rm -f {} \;
                                    =>    {}代表find找到的内容
                                          -exec 到 \都是参数
                                          rm -f {} 
                                          ; bash 是特殊的意义,用反斜杠转义
find / -type f -name "test.txt" | xargs rm -f
                                    =>    xargs把查找出来的文件结果集,按行交给rm -f命令处理                           
find /root/ -type f -name "*.log" -mtime 5 | xargs rm -f
                                    =>    5 是找到所有5天前4天后被更改的档案文件
                                          modify time-4 是4天内被改的档案,
                                          +4 是4天后被改的档案。

查找文件内容

grep -v dandy test.txt                 =>    过滤文件中包含dandy的行,并排除
grep dandy test.txt                    =>    过滤出来文件中包含dandy的行
head -2 test.txt                       =>    显示文件前两行;不接参数,默认显示前10行
tail -2 test.txt                       =>    显示文件后两行;不接参数,默认显示后10行
tail -f test.txt              =>   监控文件结尾处的变化
sed -n /dandy/p test.txt               =>    取出包含dandy的一整行,取消其它行的输出
                                             p是打印筛选的意思, -n表示取消默认输出或者取消原始输出
sed /^dandy/d test.txt                 =>    把以dandy开头的行过滤掉
                                             d代表删除

sed '/dandy/d' test.txt                =>    包含dandy的行删除,引号加不加没区别 
awk /dandy/ test.txt                   =>    过滤出来带dandy的行

创建目录

mkdir a b c                            =>    创建多个文件夹
mk -p /data/test                       =>    递归创建文件夹
tree /data                             =>    查看data文件夹下的目录结构

查看命令路径

which cp                               =>     查看cp的所在路径, whereis   locate   find

全路径执行命令

/usr/bin/cp /data/dandy.txt /tmp       =>    用全路径执行命令

别名alias

alias                                 =>    查看当前所有的别名
alias cp                              =>    查看cp的别名
alias rm = 'echo "rm can not be executed."'    
                       => 修改别名 alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' 如上 ll命令的意思就是ls命令加上-l参数 可以用unalias来取消别名,一般不改系统默认的别名,它具有一定的保护措施。 别名的作用: 1)通过给危险命令加一些保护参数,防止人为误操作 2)把很多复杂的字符串变成一个简单的字符串 系统别名的位置 cat ~/.bashrc # User specific aliases and functions

seq命令

seq 5                                  =>    竖着打出1~5序列
seq -s " " 5                           =>    -s指定分隔符空格,横着输出 1~5序列
seq 2 5                                =>    竖着打出2~5序列
seq 1 2 9                              =>    隔2个数输出
seq 5|tac                              =>    tac 反转内容输出
seq 100 >> dandy.txt                   =>   产生100的序列追加进dandy.txt文件

提取文件中指定的行号

head -30 dandy.txt|tail -11            =>     查找20~30行的内容输出
tail -81 dandy.txt|head -11            
sed -n 20,30p dandy.txt                =>     取消其它行输出,打印20~30行
sed -n '20,30p' dandy.txt             
sed -n 30p dandy.txt                   =>    输出打印第30行
awk '{if(NR>19&&NR<31) print $0}' dandy.txt
                                       =>  NR变量代表行号,如果>19, <30
                                           $0 代表print整个列
                                           '{}' 固定格式,执行内部命令

sed 擅长输出行

awk 擅长输出列

awk -F ":" '{print $1}' /etc/passwd =>  输出打印文件第一列
                                        -F ":" 分割参数
                                        $1 第一列,$2第二列,$0 整行

替换文件内容

sed -i s#dandy#elina#g dandy.txt
                                    =>  s代表编辑替换,g代表全部替换
                                        -i 插入或者写入原文件
find / -type f -name "dandy.txt" | xargs sed -i s#dandy#elina#g
                                    =>    查找到所有的dandy.txt文件,并对每一个执行替换命令

不能忘本

cat /etc/redhat-release                =>     查看系统版本
uname -r                             =>    查看系统内核
uname -m                             =>    查看操作系统位数

 

快捷键

快捷键
tab                                    =>    补全命令或者路径
ctrl + c                               =>    终止当前任务命令程序
ctrl + d                               =>    推出当前用户环境,相当于exit、logout
ctrl + a                               =>    快速移动至行开头
ctrl + e                               =>    快速移动到行结尾
ctrl + u                               =>    不留痕迹的清楚
ctrl + r                               =>    从历史记录查找命令
! 165                                  =>    执行历史记录里面的165行的记录
!!                                     =>    执行最近的命令
! c                                    =>    调用最近以c开头的命令

 

 

此篇blog虽然全篇幅都是在讲命令,但也只是讲了其中的一部分命令的简单应用,之后还是会补充,不过不确定是在实战还是继续这样一种方式的篇幅。此时,这里给大家介绍几种自己查看命令使用方法的办法。

1、man 命令 

2、命令 --help 或者 命令 -- h

3、搜索引擎

不必多说,你懂我懂大家懂。

 

posted @ 2018-08-22 17:22  dandyzhang  阅读(286)  评论(0编辑  收藏  举报