• 常用命令


    
    系统文件管理命令
    Usage: mkdir [OPTION]... DIRECTORY... # 看到语法中含有中括号的,可加可不加 ()必须加
    Create the DIRECTORY(ies), if they do not already exist.
    创建单个或多个目录如果他们不存在
    -m:创建目录的时候,给权限
    -p:递归创建目录,如果目录已经存在,则不创建并且 (不报错),修改目录的属性
    -v:显示创建目录的信息
    
    *随笔* : Linux中同一级目录和文件不能同名,不在同一级可以同名
     创建一个存在的同名的目录会报错,创建一个存在的同名的文件不会报错,但是会修改3个时间
     mkdir 同时创建多个目录 ,能创建的就创建,不能创建的就报错
     touch 同时创建多个文件 ,能创建的就创建,不能创建的也不报错,但是会修改3个时间,除非没有权限才会报错或创建多个文件的时候第一个目录不存在
    -p不是选项,可以放在参数前面或者后面
    文件可以覆盖文件,目录不能覆盖目录,但会修改时间
    
    # 使用一条命令,创建出下面的所有目录
    /home/zls
    /home/zls/test1
    /home/zls/test2
    /home/oldboy
    /home/oldboy/test1
    /tmp/oldboy
    /tmp/oldgirl
    /root/test/test1
    /root/test/test2
    /root/abc
    /backup
    #mkdir -pv /opt/{home/{zls/test{1,2}},oldboy/test1},tmp/old{boy,girl},root/{test/test{1,2},abc},backup}
    
    创建文件-touch
    1.创建,如果文件已存在,则修改它的`修改时间`和`访问时间`和`改变时间`,不存在则创建(不会报错)
    2.必须创建在已经存在的目录中
    3.创建相同文件,不会被覆盖
    4.在Linux中,一切皆文件,没有后缀的区别,后缀是为了给人看的。有特例
    
    ## 显示目录结构命令-tree
    树状图可以直观的反应目录的层级结构
    tree -L 1 /opt/
    tree -dL 1 /opt/
    -L:显示目录的层级(指定层级)
    -d:List directories only 只显示目录,不显示文件
    
    复制文件或者目录命令-cp
    cp ./wwwww /tmp
    cp ./wwwww /tmp/zls
    # 注意,上面的命令
    1.如果zls存在,并且是一个目录,会将wwwww放到/tmp/zls目录下
    2.如果zls不存在,那么会将wwwww放到/tmp目录下,并且改名叫zls。上个目录不存在就报错
    3.如果zls存在,并且是一个文件,会将wwwww放到/tmp目录下,并且覆盖原有的zls文件内容
    -a:相当于 -r -p ,既做到了递归拷贝,又保持了文件的属性
    
    -i:如果拷贝过程中,出现重复文件名,则询问是否要覆盖
    -r:递归拷贝文件 -R --recursive
    -p:在拷贝文件的过程中,保持文件原有的属性
    -v:显示拷贝的过程
    
    -t:将源文件和目标,反过来
    -T 源文件 目标文件(必须起个名字)
    -f:强制拷贝,# 不再询问,直接覆盖
    
    
    
    文件管理命令-mv   =剪切   
    [root@zls ~]# mv zls zls1
    1.zls1是否存在,如果存在,并且是个目录,则将zls文件移动到zls1目录中
    2.zls1是否存在,如果不存在,则将zls文件改名为zls1
    3.zls1是否存在,如果存在,并且是个文件,则会询问是否要覆盖
    注意:
    1.mv命令,可以直接移动目录,不需要递归,mv不会修改文件的属性
    2.mv 后面可以写 n个文件,但是最后一个必须是目录
    3.文件不能覆盖目录,但是可以放入目录里面,目录不能覆盖文件,并且也不能放到文件里面
    
    -i:在移动的过程中,询问是否要覆盖(一般加到别名里,安全措施)
    -f:强制移动 ,不询问直接覆盖        
    -t:将源文件和目标,反过来
    
    文件管理命令-rm
    rm [选项] 文件名
    -d:删除目录(空目录)=rmdir   rm -rd
    -r:递归删除 -R, --recursive  -r可以删除目录
    -f:force 强制删除
    -i:在删除文件之前,会询问是否真的要删除(一个一个文件问)
    -I:也询问,但是只问一次
    -v:显示删除的过程
    注意:
    1.在Linux中,没有回收站,所以rm会永久删除文件
    2.删除文件的时候,尽量使用 rm -f
    3.如果文件或者目录不存在,也不会报错
    rm -f file
    rm -fr /dir
    rm -f zls*  #删除家目录下以zls开头的内容
    rm -f zls1*
    ------
    rm -fr /tmp/* #删除/tmp目录下面的所有内容,但是/tmp目录本身还在
    rm -fr /tmp/ #删除/tmp目录下面的所有内容,包括/tmp目录本身也会被删除
    ------ 区别很大
    
    系统文件查看命令-cat
    语法:cat
    Usage: cat [OPTION]... [FILE]...
    cat [选项] 文件名
    -A:相当于-v -E -T	不显示出文件的行数
    
    -n:查看文件并显示出文件的行数(空行也编号)
    
    -T:以^I,表示文件中的TAB键
    -t:相当于 -T
    
    -E:以$符,标注一行的结尾
    -e:相当于 -E + -v		-v	以特殊符号表示文件中的中文
    
    -b:空行不给编号
    [root@zls ~]# cat >> menu <<eof
    > 1.苹果
    > 2.梨
    > 3.香蕉
    > eof
    tac 把文件反过来看
    
    [root@oldboy /opt]# cat >>kk
    f
    .
    q
    ^C
    [root@oldboy /opt]# cat kk
    
    [root@oldboy /opt]# cat kk -nte
         1	f$
         2	f$
         3	f$
         4	g$
         5	h$
         6	.$
         7	q$
    
    [root@localhost ~]# cat <<EOF  区分大小写  (只能用<<)
    > 1. apple
    > 2. pear
    > 3. banana
    > 4. qiandao
    > EOF
    1. apple
    2. pear
    3. banana
    4. qiandao
    
    
    [root@localhost ~]# cat >> 1.txt <<EOF  
    > 1. apple
    > 2. pear
    > 3. banana
    > 4. qiandao
    > EOF
    [root@localhost ~]# cat >> 1.txt  同上
    
    [root@localhost ~]# cat 1.txt   #号之后可以直接复制粘贴(带>)
    1. apple
    2. pear
    3. banana
    4. qiandao
    
    [root@oldboy ~]# cat '*file*'    # cat echo 支持通配符,但是不能用引号,find可以用
    cat: *file*: No such file or directory
    
    [root@oldboy ~]# cat 0</etc/passwd
    root:x:0:0:root:/root:/bin/bash
    
    
    
    系统⽂件查看命令-more  
    系统⽂件查看命令-less
    语法:#less [选项] ⽂件
    回⻋:按⾏往下看
    空格:按⻚往下看
    上下键也可以翻页
    
    /xx		搜索内容,并⾼亮显示	取消高亮
    	n	查找下一个高亮字符
    	N	=shift +n	查找上一个高亮字符
    
    gg	回到第⼀⾏,不用输入内容,直接执行
    G	跳转到最后⼀⾏,不用输入内容,直接执行
    
    冒号:指定翻⻚⾏数,:后面跟数字再按回车
    :后输入10,回车		向下10行
    
    h  帮助	q 退出帮助界面
    
    系统⽂件查看命令-head
    语法:head [选项] ⽂件
    作⽤:查看⼀个⽂件的前N⾏,默认是前⼗⾏。
    #显示/etc/services⽂件的前⼗⾏内容
    [root@localhost ~]# head /etc/services
    -n:指定显示⽂件多少⾏内容(n可以省略),-n 只能紧跟在head 后面
    -10
    -11
    不指定⾏数,默认情况下,只显示10⾏,
    `head /etc/service` = `head -n 10 /etc/service` = `head -10 /etc/service`
    
    系统⽂件查看命令-tail
    语法:tail [选项] ⽂件
    作⽤:查看⼀个⽂件的后N⾏,默认是后⼗⾏
    #显示/etc/services⽂件的后⼗⾏内容
    [root@localhost ~]# tail /etc/services
    -n:指定显示⽂件后数多少航内容(n可以省略)-n 只能紧跟在tail 后面
    
    #follow,追踪 #⽂件 末尾
    [root@localhost ~]# tail -f /var/log/messages
    -f:追踪⽂件的末尾,实时查看⽇志的新内容(多用户),只能看,不能在日志里直接编辑 ,可以追加内容,ctrl+c 可以退出追踪
    
    # -c:显示后数N个字符,(空格和换行符也算字符)不能去掉c
    直接跟数字显示行
    [root@oldboy ~]# tail -2 passwd
    syy100:x:1110:1110::/home/syy100:/bin/bash
    syy:x:1111:1111::/home/syy:/bin/bash
    
    -F: -f --retry
    tailf = tail -f
    不指定⾏数,默认情况先,只显示10⾏
    `tail /etc/services` = `tail -n 10 /etc/services` = `tail -10
    /etc/services`
    tail -f
    tail -F
    tailf
    
    
    ⽂件查找命令locate # 边界递增过滤
    [root@oldboy ~]# yum provides locate	x86_64	查看命令属于哪个包
    [root@oldboy ~]# #yum install -y mlocate 
    	首先安装含有locate这个命令的包mlocate,然后才能用locate 这个命令查找文件名
    [root@oldboy ~]# yum remove net-tools	随意移动包可以倒致命令失效
    	某个命令的包装好之后,如果要用这个命令访问本地的数据库,要用updatedb手动更新数据库
    [root@oldboy ~]# locate /etc/sh		查找/etc下#以sh 开头的文件名
    /etc/shadow
    /etc/shadow-
    /etc/shells
    [root@oldboy ~]# touch /etc/sho
    [root@oldboy ~]# updatedb		手动更新数据库
    [root@oldboy ~]# locate /etc/sh
    /etc/shadow
    /etc/shadow-
    /etc/shells
    /etc/sho
    
    [root@oldboy ~]# which + 文件		无意义
    [root@oldboy ~]# which hostname
    /usr/bin/hostname
    [root@oldboy ~]# which hostnamectl
    /usr/bin/hostnamectl
    [root@oldboy ~]# which cp   查看别名
    alias cp='cp -i'
    	/usr/bin/cp
    	
    $():执⾏命令的结果,可以嵌套		x ll $(which cp)		$($(//))
    ``:执⾏命令的结果(反引号),不可以嵌套		x ll `which cp`
    	用一个命令行来执行 多条命令
    [root@oldboy ~]# rpm -qa	
    [root@oldboy ~]# rpm -ql
    [root@oldboy ~]# ll $(which cp)
    ls: invalid option -- '''
    Try 'ls --help' for more information.
    
    # 查找命令
    [root@localhost ~]# type -a ls
    ls 是 `ls --color=auto' 的别名
    ls 是 /usr/bin/ls
    1.内建命令
    [root@oldboy ~]# type cd
    cd is a shell builtin	(内建命令)
    [root@oldboy ~]# type -a ls
    ls is aliased to `ls --color=auto'	
    ls is /usr/bin/ls
    [root@oldboy ~]# type -a cd		(内建)
    cd is a shell builtin
    cd is /usr/bin/cd
    [root@oldboy ~]# type -a ping
    ping is /usr/bin/ping
    [root@oldboy ~]# type -a ll		(别名)不显示绝对路径
    ll is aliased to `ls -l --color=auto'
    2.外部命令
    -a	显示所有类型#命令的绝对路径
    -p	显示外部命令的绝对路径(不包含其他内容)
    
    # 查找命令 whereis	根据文件类型查找**文件**,系统自带命令,二进制文件,man帮助文件,源代码文件
    [root@localhost ~]# whereis ifconfig
    ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
    
    文件排序命令 -  sort
    sort + 选项 +文件
    -t	指定分隔符(单个字符),默认以空白字符为分隔符(空格键 TAB键)可以用空白字符,数字,字母为分隔符,只能指定一个分隔符
    -k2	指定列,以**首字母**或者**首数字**进行排序	默认以第一列(56 455)
    -nk	指定列,以首字母或者数字的大小进行排序=-n -k 不=-kn
    -r	倒序排列
    
    文件去重命令 -  uniq
    -c		显示重复次数
    -d		只显示重复的行
    -u		只显示不重复的行
    
    文件截取命令 -  cut
    ⽤法:cut 选项... ⽂件(或管道左边的标准输出)
    	cut  必须指定分隔符和列
    -d		指定分隔符 必须是单个字符(空格,TAB,数字,字母) #只能指定一个分隔符
    剪切:分隔符必须是单个字符,#cut不能指定以 '' 为分隔符
    		默认以TAB键为分隔符
    -f		指定列,多个的话用逗号分割,或者连续多列(1-3)	
    #-c		截取字符(单字),多个的话用逗号分割,或者连续多列(1-3)
    
    [root@oldboy ~]# ll lll | cut -c 2-10 |tr rwx- 4210 | awk -F '' '{print $1+$2+$3$4+$5+$6$7+$8+$9}'  -F 指定分隔符的时候已经定义了变量($=) 不能用【】
     - 必须放在数字后面
    [root@oldboy ~]# ll lll | cut -c 2-10 | tr 'rwx-' '4210' -必须放在数字后面
    041011011
    [root@oldboy ~]# ll lll | cut -c 2-10 | tr 'rwx-' '4210' | awk -F '' '{print $1+$2+$3$4+$5+$6$7+$8+$9}'   ($空格加不加都一样,加,出来空格," "也会出来空格。awk本身不认识空格)
    644
    
    字符替换命令 -  tr(不会修改文件)
    [root@oldboy ~]# tr s y syy.txt		无意义
    [root@oldboy ~]# tr s y < syy.txt	< :标准输入 #单独针对文件操作时,必须使用	将s替换为y
    [root@oldboy ~]# tr syy yyx < passwd	单对单
    
    [root@localhost ~]# cat info.txt
    I'm zls,18 years old QQ 133411023
    [root@localhost ~]# cat info.txt |tr 'QQ' 'qq'(一对一)
    I'm zls,18 years old qq 133411023
    
    tr -d s < syy.txt	删除(修改文件),删除后字符连在一起
    [root@qls ~]# tr  -d "m"  <qq.txt 		#删除m这个字符(必须加重定向符,不算真正的删除)
    I a nae  is student QQ is,1238376584
    
    文件统计命令 -  wc
    [root@www ~]# wc [-lwm] +文件    :输出信息依次是:行数 字数 字节数 文件名称
    选项与参数:
    -l  :显示一个文件的行数;= cat -n	= grep -n '.*' 
    -w  :统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
    -m  :显示一个文件的字符数;这个标志不能与 -c 标志一起使用
    -c  :显示一个文件的字节数,一个制表符也就算一个字符
    -L  : 显示一个文件中的最长行的长度(或字符数)  当使用 -L时,TAB制表符算7个字符 不把换行符计算在内,#统计脚本的长度
    [rocrocket@rocrocket programming]$ cat wc1.txt
    1 2
    34 5
    你好
    [rocrocket@rocrocket programming]$ wc -c wc1.txt
    16 wc1.txt 
    [rocrocket@rocrocket programming]$ wc -m wc1.txt
    12 wc1.txt 
    [rocrocket@rocrocket programming]$ wc -l wc1.txt
    3 wc1.txt 
    [rocrocket@rocrocket programming]$ wc -L wc1.txt
    4 wc1.txt 
    [rocrocket@rocrocket programming]$ wc -w wc1.txt
    5 wc1.txt
    每行结尾的换行符也算一个字符,空格也算一个字符。
    #
    由于采用UTF-8编码,所以一个汉字在这里被转换为3字节,所以 wc -c显示的结果是16,即“第一行的4个字节+第二行的5个字节+第三行的7个字节”=4+5+7=16。
     字节 :汉=3个字节 一个数字=1个字节  一个空格=1个字节  一个换行符=1个字节
    而当使用 -m选项时,一个汉字就作为一个字符计算,所以是4+5+3=12。
     字符 :汉=1个字符 一个数字=1个字符  一个空格=1个字符  一个换行符=1个字符
    当使用 -L时,是给出最长行的长度(字符),第二行最长,有4个字符长。(#显然是不把换行符计算在内)
    使用 -w是计算字数(单词数),一个字是一个word,所以“34”表示一个word,一个“你好”表示一个word(我试过了,当中文是连在一起的,不管多少个,在计算字数word时,只有一个),因此2+2+1=5。
     单词 : "34"=1个单词 “3”=1个单词  连在一起的数字=1个单词
    #插孔说说tab制表符,这个符号比较特殊,当使用 -L时,制表符算7个字符(这要依据一个制表符的长度而定,在我的系统中一个制表符算7个空格长度)。而当使用 -w时,制表符和空格没有两样,都作为字的间隔来看待。当用-c时,一个制表符也就算一个字符,因为它的确就只是一个字符而已。
    UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。中文标点占三个字节,英文标点占一个字节
    UTF-8编码中,一个英文字符等于一个字节,一个中文(含繁体)等于三个字节
    
    stat 
    [root@oldboy ~]# ll lll
    -rw-r--r--. 1 root root 0 Mar 31 23:23 lll
    [root@oldboy ~]# stat -c %a lll   前面的0不显示后面的0显示
    644
    [root@oldboy ~]# ll lll
    -rw-r-----. 1 root root 0 Mar 31 23:23 lll
    [root@oldboy ~]# stat -c %a lll
    640
    
    rename:
    -n 先不改名,显示执行后的结果
    -f 强制执行,名重复就覆盖
    ? 任意字符
    * 表示一个或一串任意字符
    【常用正则表达式符号说明】
    ^    匹配输入的开始位置
    $    匹配输入的结尾
    .    匹配除换行符外的任意字符
    +    匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
    [a-z]    表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
    [^m-z]    否定的字符区间。与不在指定区间内的字符匹配。
    
    [root@localhost www]# rename 's/.sh/.php/' *   (分隔符 / #)(s)     
    #将当前目录下.sh后缀的文件,变成.php
    
    [root@localhost www]# rename 's/$/.bak/' /home/www/*.php     
    #给www目录下的.php加上bak后缀
    
    [root@localhost www]# rename 's/^/bak_/' *.bin     
    #给当前目录下的.bin后缀文件加上bak_前缀
    
    [root@localhost www]# rename 's/.bin$//' *       
    #批量删除当前目录下所有文件的.bin 后缀
    
    [root@localhost www]# rename 's/A-Z/a-z/' *      
    #修改当前目录所有文件名为小写
    
    tr 现在的  以后的  (不是真正的替换)(一对一替换)(echo xx|tr 1 2 )(只能替换眼前的)
    sed 's#现在的#以后的#g' (先查找,再替换)
    

    curl 和 wget

    curl 可以curl网站URL,wget不行
    
    -o 指定下载的路径
    -s 不输出错误和进度信息 或者 2>/dev/null
    
    [root@oldboy yum.repos.d]# curl -s https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/|grep rpm |awk '{"wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/" $2}'|bash
    curl : 可以curl URL界面,或者路径下的内容
    wget :下载URL路径下的rpm包
    
    [root@oldboy yum.repos.d]# curl http://www.baidu.com/  百度的html界面
    [root@oldboy yum.repos.d]# wget http://www.baidu.com/  不知道下载了什么
    使用wget 爬阿里云的rpm包 <https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/>(预习)
    mkdir /aliyun
    cd /aliyun
    curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/|awk -F '*' '{print "wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/"$2}'|bash
    
    curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ | awk -F '"' '{print "wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/"$2}' | bash
    
    curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/|awk -F'"' '{print $2}'|sed -r '/^$/d;1,5d'|awk '{print "wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/"$0}'|bash
    
    curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/|sed  -r 's#.*="(.*)">.*#"wget https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/"1#g'
    注意转义括号,小心贪婪匹配,尽量用sed标准格式(解决疑难杂症),sed -nr 's###gp'
    -n :取消默认输出,不加-p的话就取消所有的输出
    p  :打印,没有-n的时候加不加无所谓,有-n,只打印引用的内容
    
    [root@oldboy Packages]# curl -s https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/ |awk -F '[ "]+' '/rpm/{print $3}'
    
    [root@oldboy ~]# curl -s https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/|grep rpm |awk -F'["]' '{print "wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ "$2}'|bash
    爬mirrors.aliyun.com阿里云镜像站里的rpm包
    
    [root@oldboy ~]# curl -s https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/ >/index.html
    [root@oldboy ~]# cd /usr/share/nginx/html
    [root@oldboy html]# mv /index.html .  覆盖
    这样在浏览器URL输入本机ip就可以访问到“我们的”rpm 镜像库 (前端源代码)
    
    #当前目录的下载之后的rpm包
    -rw-r--r--  1 root root 1455164 May  1 02:17 index.html
    -rw-r--r--  1 root root 1455164 May  1 04:13 index.html.1
    -rw-r--r--  1 root root 1455164 May  1 04:13 index.html.10
    

    scp

    同一区域网的IP不同的虚拟机,使用超级复制scp,这样文件之间的的cp不需要经过windows,直接cp到同一个区域网下的不同IP的不同用户的Linux系统,第一次cp需要输入,yes,scp对象的用户密码,第二次直接输入密码
    只能scp文件,不能scp目录
    
    -r: 递归复制整个目录
    -p:保留原文件的修改时间,访问时间和访问权限
    

    echo

    #用法一
    [root@lb01 ~]# echo -e 12
    34 >>10.txt
    [root@lb01 ~]# cat 10.txt 
    12n34
    [root@lb01 ~]# echo -e '12
    34' >>10.txt
    [root@lb01 ~]# cat 10.txt 
    12n34
    12
    34
    #用法二
    [root@lb01 ~]# echo '
    > 1
    > 2
    > 3
    > '
    
    1
    2
    3
    
    #用法三
    [root@lb01 ~]# echo 1
    1
    [root@lb01 ~]# echo 123 1
    123 1
    
    [root@lb01 ~]# vim a.sh
    #!/bin/bash
    echo $a
    [root@lb01 ~]# sh a.sh  # a不是一个变量,所以没有输出内容
    
    [root@lb01 ~]# a=1
    [root@lb01 ~]# sh a.sh   #命令行定义了变量,无法传递到脚本
    [root@lb01 ~]# sh a.sh a  #同样不会输出内容
    
    [root@lb01 ~]# vim a.sh
    #!/bin/bash
    echo $1
    [root@lb01 ~]# sh a.sh a
    a
    [root@lb01 ~]# sh a.sh b
    b
    [root@lb01 ~]# !v
    vim a.sh 
    #!/bin/bash
    echo $1
    echo $2
    [root@lb01 ~]# sh a.sh a   #一行输出a,一行为空
    a
    
    [root@lb01 ~]# sh a.sh b
    b
    
    [root@lb01 ~]# sh a.sh a b
    a
    b
    [root@lb01 ~]# vim a.sh 
    #!/bin/bash
    echo $2
    echo $1
    [root@lb01 ~]# sh a.sh a b
    b
    a
    # $N N必须是正整数,输出是有顺序的
    

    date

    [root@web02 ~]# date
    Fri May  8 18:57:48 CST 2020
    [root@web02 ~]# date +%F	#年月日
    2020-05-08
    [root@backup ~]# date +%R	#时分
    21:25
    [root@backup ~]# date +%T	#时分秒
    21:33:05
    [root@web02 ~]# date +%F-%R
    2020-05-08-18:58
    
    [root@backup ~]# date +%Y        #年
    2020
    [root@backup ~]# date +%m		#月
    05
    [root@backup ~]# date +%d		#日
    08
    [root@backup ~]# date +%S		#秒
    43
    
    [root@backup ~]# date +%Y-%m-%d-%H-%M-%S  #年月日时分秒
    2020-05-08-21-28-20
    
    # 这样可以设置全部时间
    date -s '2008-05-23 01:01:01'
    
  • 相关阅读:
    Windows Mobile 6 sdk installation error, COM3 in use,please check the implementation
    使用lock_sga和pre_page_sga参数保证SGA常驻物理内存 .
    Davinci开发板DM368 nandwrite.c简要分析
    归并排序的实现
    ASP无惧上传类不能上传中文双引号文件及ASP函数InStr存在bug
    cocos2d-x绑定ccb文件
    产品经理的工作感想(3)
    9年经验,总结SEO职业瓶颈
    关于C++中的拷贝构造函数和赋值函数
    实现怎样支持Android重力感应器Sensor编程
  • 原文地址:https://www.cnblogs.com/syy1757528181/p/12813105.html
Copyright © 2020-2023  润新知