linux中命令格式是什么?

命令 [参数选项] [文件或路径]

中括号表示可选,命令的参数与路径文件可选

参数选择表示一个命令的不同功能

命令 和 参数选项 中必有一空格,多个参数连在一起写

  几乎所有命令都可以直接接文件

什么是相对路径和绝对路径?

绝对路径: 从头开始的路径,对于window是从盘符开始的路径,对于linux为以 / 开始的目录

如: /etc   /root/data

相对路径: 不从头开始,不从根开始的路径

如: data/

mkdir     创建目录

mkdir /data    # 在根目录下创建data目录

  -p 递归创建目录

mkdir -p /data/a/b    # 在/data/目录下创建a目录,再在a目录下创建b目录

ls   列表目录文件

ls /     # 列根目录下内容

  -l(long)长格式,-d(directorys)查看目录

ls -l /root    # 查看 /root目录下未隐藏的文件和目录长信息
ls -ld /root    # 查看 /root 目录本身长信息

  -a    查询包含隐藏的所有文件

ls -a /root    # 查看 /root 目录下所以文件和目录信息,包括以点开头的隐藏文件信息

  -t     按修改时间排序

ls -lt /root    # 查看 /root 目录下,最新修改时间的文件在最上面

  -r     按创建时间倒序排序,翻转排序,最新的放在下边

ls -lrt /root    # 查看 /root 目录下,通过 r ,把最新修改时间的文件在放最下面,翻转

  --color=auto         ls显示颜色,或grep过滤满足条件添加颜色

grep --color=auto 3306 /etc/services    # 对查询结果关键字添加标记颜色

  -h    人类可读

ls -lh /root    # 最直观感受,文件大小换算成k为单位

  -i     文件i节点

ls -ihl    # 最直观每行结果前面多个一串数字

  --time-style=long-iso   规范时间显示

ls -lh --time-style=long-iso /root    # 最直观感受是时间的顺序,按年月日时分格式化了

cd          切换目录路径 

cd ~            # 回到用户家目录
cd /etc # 切换到/etc 目录下
cd # 不加 - 默认也是回到家目录
cd .    # 返回当前目录
cd ..    # 返回上级目录

pwd        打印当前所在目录的绝对路径

touch     创建文件或更新时间戳,如果文件存在,把该文件更新到当前时间戳

touch /data/hello.txt             # 绝对路径下,在 /data/目录下创建一个hello.txt文件
touch data/hello.txt         # 相对路径下,在当前目录下data/目录中创建一个hello.txt文件
touch /data/hello.txt data/hello.txt # 以上两个文件可以同时创建

vi     编辑文件,没有就新建,相当于windows记事本

  

初始进入命令模式,按i 或 a 进入编辑模式,按esc退出编辑模式,按 : wq 退出vi

vim        复杂编辑器           写脚本(shell, python)

echo      打印

echo 'My name is BeiMenChuiXue'

  echo 联合 > 和 >> 使用,分别是输出重定向和输出追加重定向

echo 'My name is BeiMenChuiXue' > Name.txt        # 会清空 Name.txt内容添加 My name is BeiMenChuiXue内容进去
echo 'My name is BeiMenChuiXue' >> Name.txt    # 把 My name is BeiMenChuiXue 这短字符追加到 Name.txt文件内容后面

cat         浏览文件内容       联合 重定向 使用,往文件内写入内容

  -n 显示行号

seq 1 100 > Name.txt    # 写入数据
cat Name.txt # 浏览内容
cat -n Name.txt # 显示内容行号

  多行追加,用户写脚本

cat>>get_html.py<<jia
import requests
url = 'https://www.baidu.com/'
res = requests.get(url=url)
if res.status_code == 200:
print 'OK'
else:
print "Faile"
print "done!"
> jia # 写了一段python脚本代码,获取百度首页网页,jia字符是开始和结束标记,是成对的任意字符

  

xargs     从标准输入获取内容创建和执行命令

   -n    按 多少组字符分行,每组字符以空格分开

echo stu{01..20} |xargs -n 5        # 把 stu01 ~ stu20 按5个词组分组,占一行

有哪些特殊符号?

>     输出重定向:       把前面输出的内容输入到后边的文件中,会清空原文件内容

>Name.txt    # 清空Name.txt 内容

>>  输出追加重定向 把前面输出的东西追加输入到后边的文件文件尾部,不会清空文件内容

seq 100 >> Name.txt    # 向 Name.txt 追加 1 到 100 个数字字符

<     输入重定向    改变命令的输入,后面指定输入内容,前面跟文件名

xargs -n 5 < Name.txt    # 把 Name.txt的内容当做输入给xargs命令

<<  追加输入重定向 后面跟字符串,用来表示”输入结束”

2>   错误重定向

ech 'hell word' 2> error.txt    # 错误信息写入error.txt文件

2>> 追加错误重定向

说明:

    1. 箭头的指向就是数据的流向

    2. 0 标准输入    < 或 << 数据流从右向左

    3. 1 标准输出    > 或 > 数据从左向右

    4. 2 错误输出    2> 或 2>> 错误数据输出,数据量从左到右

  .     当前目录

  ..    上一级目录

  /     根目录

  |     管道,上一个命令的结果作为下一个命令处理对象

  ;      分割两个命令,并没有因果关系

  {}     创建多个或指定文化或目录

mkdir /data/{test1, test2}/data.txt -p    # 同时/data目录下创建 test1, test2两个目录同时这两个目录下包含 data.txt 文件
touch {1..10}.txt   # 当前目录下创建 1 ~10 个文件,并按 1.txt~10.txt 创建

  !        调用最近使用的命令, 取反

!m           查询最近使用的以m开头的命令

!33           执行history查询出来33指定的命令

find /oldboy -type f ! -name ‘test.sh’         # 取oldboy目录下,名字非test.sh的文件

  !!      调用最近使用的命名

! 和 !! 联合history使用

        当前用户的家目录

  -        上一次所在目录

         单个任意字符

  .*       代表所有字符

  \        转义字符,把带有特殊含义的字符还原成原原本本的字符

  正则表达式只适用与linux三剑客(awk sed grep), 普通命令只适用通配符

如何把正确的和错误的都放入同一个文件?

2>&1      或  &>          正确的错误都放入同一个文件

cho oldboy > oldboy.txt 2>&1        # 错误信息写入oldboy.txt
echo oldboy &> oldboy.txt # 正确信息写入oldboy.txt

2>>&1    或 &>>   追加

echo hhhhhh &>> oldboy.txt            # 正确追加
cho hhhhhh &>> oldboy.txt # 错误追加

cp   拷贝文件或目录,不加参数只能拷贝文件

cp Name.txt /tmp/    # 把当前目录下 Name.txt 拷贝到 /tmp目录下

  -p    档案属性一起复制过去

cp -p Name.txt /tmp/    # 复制文件时间把文件属性也一同带过去

  -r     递归复制目录

cp -r /root/ /tmp/    # 把 /root 目录,拷贝到 /tmp 目录下

  -a   相当于-pdr

  -d  复制连接文件,不复制连接文件指向的文件

cp -d to_link /tmp/    # 复制软链接到 /tmp 目录下

mv  移动或修改名     移动时候,目录最后一个斜杠不要加

mv /data /tmp        # 把data目录移到tmp目录下
mv boy.txt girl.txt         # 把boy.txt文件名改成girl.txt

rm  删除(少用和谨慎使用,最好不要使用)     一旦删除,无法恢复,删除前先备份

  -f 强制删除

rm -f /root/Name.txt       # 强制删除 Name.txt 文件

  -r 删除目录

rm -rf /data    # 强制删除 /data 目录

find  查找            最重要命令之一

-type f / d       f 表示文件, d表示目录, c字符类型,b(block)

-name 指明名字

-exec 命令 {} \.    对查询结果进行处理

find /root -type f -name ‘Name.txt’ -exec rm {} \;        #从 /root目录下查询名字为 Name.txt 的文件,对查询结果执行rm命名    

-mtime 时间数字

+7 七天以前

7 第七天

-7 最近7天

-o           or          取或

-a           and        取并

find /data -type f -name ‘*.txt’ |xargs rm -f         # 从 data目录下查询所有以.txt结尾的文件,通过|xargs组成一行命名,执行rm -f    

grep  过滤内容   非常重要,三剑客排行老三

  -v 排除内容

grep -v 'Word' Name.txt    # 查询 Name.txt 文件内容,不包含 Word的其他行内容

  -E    表示可以通过搜索多个字符,以 | 隔开

grep -E “3306 | 1521” /etc/service

  -i     不区分大小写

grep -iv 'word' Name.txt    # i不区分大小写

head      读一个文件前n行内容,默认前10行

head -1 Name.txt    # 查看 Name.txt 文件中内容第一行

tail          读一个文件后n行数据,默认10行

tail -1 Name.txt    # 读取文件最后一行内容

yum       安装软件包

  -y 直接装

yum install -y tree    # 安装 tree 软件包

tree        展示目录树结构

  -L 指定展现几级目录

tree -L 1 /root/    # 显示 /root 目录下,1层目录结构

  -d    表示只查看目录

tree -Ld 1 /root/    # 只查看 /root 下只含有 目录 的一层目录结构

alias       别名

  作用: 给危险命令加一些保护参数,防止误错作,把复杂命令改成简单命令

  直接输入 alias ,查看已经设置好的别名信息

alias py2=python    # 临时把python命令改为py2,系统重启生效

unalias  取消别名

unalias py2    # 取消py2对应的命令

  如何做到永久生效?

    按格式写入这两个文件

.bashrc         当前用户生效

/etc/profile     所有用户生效

seq  打印序列

  -s 指定分隔符

seq -s" " 1 20    # 打印1 到 20 的字符,中间以空格隔开
seq -s" " 1 2 20    # 间隔 2 打印 1到20 字符,中间以空格隔开

sed  流编辑器,实现对文件的增删改查替换,三剑客排名第二

  -n 取消默认输出,按规则打印想要内容

seq 1 100 > Name.txt    # 写入数据
sed -n '1,2,20'p Name.txt # 打印 Name.txt 中 间隔2行从第1行到 20行内容

  p 表示打印内容

sed -n '$'p Name.txt    # 打印最后一行内容

  s 查找并替换,与g联合使用

sed "s#99#new#g" Name.txt    # 找出Name.txt所有内容 含有 99 字符的全部替换成new字符,打印结果

  g 全局匹配替换

  -i 修改内容

sed -i "s#99#new#g" Name.txt    # 找出Name.txt所有内容 含有 99 字符的全部替换成new字符,更改生效

awk  过滤、输出内容一门语言

  NR 代表行号, $1 第一列, $2第二列,依次轮推,但是$0表示一行,$NF最后一列

seq 1 10 > seq.txt    # 写入数据
awk 'NR>1&&NR<5' seq.txt # 查找seq.txt内容中 2 - 4行内容

-F 指定分隔符

echo '1:2:3:4:5:6:7:8:9'> awk.test    # 写入内容
awk -F ':' '{print $1}' awk.test # 打印以 : 隔开的第一个内容

man       所有命令的使用方法,帮助文档

man cp    # 查看cp命令详情使用方法

相似: --help, 有些命令时bash内置命令,不能通过man查询,也看不到命令位

date       查看时间

  -s 更改时间

date -s '2017/11/21 15:43'    # 更改系统时间,格式为:年/月/日/ 时:分,

  +  格式化时间

    %H         小时

    %M        分钟

    %S         秒

    %X         时分秒

    %F         年-月-日

    %w         一周第几天

date +%Y-%m-%d\ %H:%M:%S		年-月-日 时:分:秒

    企业应用:

      day        天

      Hour      时

      Min        分

tar cvzf date_`date +%F`.tar.gz date/	# 一般接在文件名后面
tar zcvf data_$(date +%F).tar.gz date/ # 同上
date +%F -d '-2day' # 求前天的时间
date +%F -d '-24Hour ' # 24小时以前
date +%F\ %X -d '+4Hour' # 4小时以后

  

which  查询命令所在路径

which cp    # 查询cp命令所在决绝路径,一些内置bash命令无法查找到位置

less        按页显示文件内容,可以按 n或enter 一行一行显示出来, 按 空格 一页一样显示,按b可以回退

chkconfig  设置开机自启动服务

  -- list       查询服务启动级别,默认全部,指定服务名显示某服务启动级别

chkconfig --list sshd           # 查询sshd服务的开机自启动对应级别

  -- level    设置服务启动级别

on/off       开启或关闭服务,默认2345级别

chkconfig crond off    #关闭 crond 服务
chkconfig crond on # 开启 crond 服务
chkconfig --list | grep '3:on' # 查询3级别自启的服务

dumpe2fs     查询文件系统内部信息(元数据)

dumpe2fs /dev/sda1 | grep -i ‘inode size’       #  查询sda1分区inode大小

df  查询磁盘信息

-i 查询分区inode使用节点,剩余inode

df -i    # 查询 inode 使用情况

-h 查询磁盘剩余空间(Block)

df -h    # 查询 block 使用情况

磁盘空间满了,有两项参数指定,inode是否满了,block是否满了,任何一项满了,都无法再存放数据了

磁盘满的一个特征: (no space left on device)

file  查询文件类型

file Name.txt /root    # 查询 Name.txt文件的文件类型 和 /root 目录的文件类型

last  查询用户登录信息,对应 /var/log/wtmp文件

lastlog  显示最近用户是否登录过,对应/var/log/lastlog文件

linux常用命令_1的更多相关文章

  1. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

  2. linux常用命令的介绍

    本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

  3. linux——常用命令与脚本

    linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...

  4. DOS 和 Linux 常用命令的对比

    DOS 和 Linux 常用命令的对比 许多在 shell 提示下键入的 Linux命令都与你在 DOS 下键入的命令相似.事实上,某些命令完全相同. 本附录提供了 Windows的 DOS 提示下的 ...

  5. 第一章,Linux常用命令

    20161124 Linux常用命令1.find find /etc/ -size +50k -lsfind /etc/ -size +50k -ls 2> /dev/null查看目录下大于50 ...

  6. linux 常用命令大全

    linux 常用命令大全 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统 ...

  7. Linux 常用命令行

    Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作

  8. [工作需求]linux常用命令以及vim常用命令

    一.             Linux 常用命令 mkdir dirname新建文件夹 cd ~ 进入自己的家目录 cd dirname 进入名字为dirname的目录: l 显示当前文件夹下的文件 ...

  9. 对于我的linux常用命令的说明

    我所列出的linux常用命令中的选项并不是全部的选项,是一些我们经常用到的linux命令及选项

随机推荐

  1. Java学习笔记7---父类构造方法有无参数对子类的影响

    子类不继承父类的构造方法,但父类的构造方法对子类构造方法的创建有影响.具体来说就是: ①.当父类没有无参构造方法时,子类也不能有无参构造方法:且必须在子类构造方法中显式以super(参数)的形式调用父 ...

  2. 欢迎来到Hadoop

    What Is Apache Hadoop? Hadoop是一个可靠的.可扩展的.分布式计算的开源软件. Hadoop是一个分布式处理大数据的框架.它被设计成从一台到上千台不等的服务器,每个服务器都提 ...

  3. 使用Python实现贪心算法

    题目: 圣诞节来临了,在城市A中,圣诞老人准备分发糖果.现在有多箱不同的糖果,每一种糖果都有自己的价值和重量.每箱糖果都可以拆分成任意散装组合带走.圣诞老人的驯鹿最多只能承受一定重量的糖果.请问圣诞老 ...

  4. Canvas-图片旋转

    Canvas-图片旋转 众所周知canvas是位图,你可以在里面渲染你要的东西,不过你只能操作canvas的属性来进行编辑.就是说你并不能操作画进canvas的东西,例如我在canvas里添加一幅画, ...

  5. java 重定向和转发的区别

    注:原创链接  http://www.cnblogs.com/shenliang123/archive/2011/10/27/2226892.html response.sendredirect(&q ...

  6. Java想要学到精通,这几点一定要掌握

    时代更新换代速度如此之快,尤其是深处互联网行业的java程序员,技术更需要不断更新,只有及时充电,才能不被市场淘汰.千锋Java培训老师今天为大家分享Java程序员学习的6个小技巧. 1.书籍永远是知 ...

  7. POJ 3278 Catch That Cow(BFS,板子题)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 88732   Accepted: 27795 ...

  8. 搭建vue开发环境的步骤

    相信很多人在刚开始学习vue这个框架的时候,在最开始搭建开发环境的时候,都会遇到一些大大小小的坑,我之前在学习angular的时候搭建过一次,过了一个月后在搭建第二次的时候,竟然有一些混乱,所以今天想 ...

  9. UEP-下拉

    uep建立下拉 静态下拉: ①private Map<String,String> beanMap = new HashMap<String,String>(); //gett ...

  10. ceph-deploy出错UnableToResolveError Unable to resolve host

    背景 ps:在本文中,假设我系统的hostname为node1. 使用ceph-deploy命令搭建Ceph集群,执行ceph new node1时,出现如下错误: [node1][INFO ] Ru ...