Centos 03 基础命令

时间:2023-03-09 17:06:06
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 {..} => 打印输出、横向

进阶:

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

[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    切换到文件头 

Centos 03 基础命令

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

Centos 03 基础命令

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 | xargs rm -f
=> 5 是找到所有5天前4天后被更改的档案文件
modify time- 是4天内被改的档案,
+ 是4天后被改的档案。

查找文件内容

grep -v dandy test.txt                 =>    过滤文件中包含dandy的行,并排除
grep dandy test.txt => 过滤出来文件中包含dandy的行
head - test.txt => 显示文件前两行;不接参数,默认显示前10行
tail - 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来取消别名,一般不改系统默认的别名,它具有一定的保护措施。
别名的作用:
)通过给危险命令加一些保护参数,防止人为误操作
)把很多复杂的字符串变成一个简单的字符串
系统别名的位置 cat ~/.bashrc
# User specific aliases and functions

seq命令

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

提取文件中指定的行号

head - dandy.txt|tail -            =>     查找20~30行的内容输出
tail - dandy.txt|head -
sed -n ,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
$ 代表print整个列
'{}' 固定格式,执行内部命令

sed 擅长输出行

awk 擅长输出列

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

替换文件内容

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行的记录
!! => 执行最近的命令
! c => 调用最近以c开头的命令

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

1、man 命令 

Centos 03 基础命令

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

Centos 03 基础命令

3、搜索引擎

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