切换目录
cd ~ 切换到当前用户的家目录cd - 切换到上一次的目录
上传与下载
支持包在Dial-up Networking Support选项里,没有装可以通过
1、yum install lrzsz -y2、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=dprcp -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 abc[dandy@centos7 ~]$ cat > dandy.txt 123^C[dandy@centos7 ~]$ cat dandy.txt 123
追加进文件;>>代表追加;<<代表输入
[dandy@centos7 ~]$ cat >> dandy.txt << 11> elina> dandy> taylor> 11[dandy@centos7 ~]$ cat dandy.txt 123elinadandytaylor[dandy@centos7 ~]$
另一种简单追加方法:同理是ctrl + d
[dandy@centos7 ~]$ cat >> dandy.txt time1time2 # 回车到空行 ctrl + d[dandy@centos7 ~]$ cat dandy.txt 123elinadandytaylortime1time2[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 wordsadding 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" => 在/根目录查找 类型文件,名字catfind / -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、logoutctrl + a => 快速移动至行开头ctrl + e => 快速移动到行结尾ctrl + u => 不留痕迹的清楚ctrl + r => 从历史记录查找命令! 165 => 执行历史记录里面的165行的记录!! => 执行最近的命令! c => 调用最近以c开头的命令
此篇blog虽然全篇幅都是在讲命令,但也只是讲了其中的一部分命令的简单应用,之后还是会补充,不过不确定是在实战还是继续这样一种方式的篇幅。此时,这里给大家介绍几种自己查看命令使用方法的办法。
1、man 命令
2、命令 --help 或者 命令 -- h
3、搜索引擎
不必多说,你懂我懂大家懂。