man命令和help命令、常用快捷键

 

man命令和help命令

man:查看某一条命令的详细解释  #大而全
	man (要查询的命令)
    man shutdown 
    选项也可以叫参数 不加选项打印出来的如下
    	NAME:对要查询的命令的简介
        SYNOPSIS:对要查询命令的格式的规范
        DESCRIPTION:对要查询的命令的详细介绍
        OPTIONS:对要查询命令的 所有选项
    搜索 比如搜索shutdown 里面的-r什么意思
    /输入要查询的选项(参数 比如-r)  一定要加/  光标在第一行,上下键可以切换 
    如果查询出来的不止一个 按n键查找下一个
    q退出

help::查看某一条命令的精简的,#小而精
        三种格式那个都有可能支持
        -h
        --help
        help

常用快捷键

上下键: 
	上一次输入的命令,断开在连接也有

\v  :  bash的版本号,黑命令窗口软件的版本号

清空屏幕信息:ctrl + l
	与之相同的命令:clear
	
光标移动到行首与行尾
	crtl + a(crtl +) : 移动到行首
	crtl + e(ctrl +) : 移动到行尾
	
剪切内容至行首:crtl + u
剪切内容至行尾:crtl + k

粘贴内容:crtl + y

命令补全(必须唯一):tab

pwd和cd切换目录

pwd查看当前所在目录的路径(绝对路径 ,从跟目录开始/)等同于printenv里面的PWD,默认的变量 实际pwd和printenv里面的PWD一样,pwd使用的是printenv里面的PWD


cd   
	格式 cd (目标的路径)
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd ../..
[root@localhost etc]# pwd
/etc

[root@localhost network-scripts]# cd ../..   返回上一级再上一级

[root@localhost etc]# cd -   切换上一次所在的目录

[root@localhost etc]# cd ~     切换到家目录


最一开始是目录是/
然后bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var有这些
root等于  cd ~
正常进入linux进入的就是root下面也就是家目录
跟没有路

mkdir创建文件夹

mkdir[选项(非必须)](被创建的目标路径)
mkdir aaa


加-p 内目录不存在会创建目录 如果父级目录不存在 自动创建父级目录
[root@localhost ~]# mkdir -p /root/aaa/bbb/ccc
[root@localhost ~]# ls
aaa  anaconda-ks.cfg  init.sh


-p, --parents
no error if existing, make parent directories as needed
如果存在,没有错误,根据需要创建父目录

touch创建文件

touch[选项][被创建的文件路径] 绝对路径相对路径都可以
	{}:表示循环
	..有序循环从开始到结束
    ,表示指定的创建

touch abc   在当前目录下创建一个abc文件
--------------------------------------------
创建test1  test2  ....test100
root@localhost ~]# touch test{1..100}
[root@localhost ~]# ls
aaa              test100  test16  test21  test27  test32  test38  test43  test49  test54  test6   test65  test70  test76  test81  test87  test92  test98
abc              test11   test17  test22  test28  test33  test39  test44  test5   test55  test60  test66  test71  test77  test82  test88  test93  test99
anaconda-ks.cfg  test12   test18  test23  test29  test34  test4   test45  test50  test56  test61  test67  test72  test78  test83  test89  test94
init.sh          test13   test19  test24  test3   test35  test40  test46  test51  test57  test62  test68  test73  test79  test84  test9   test95
test1            test14   test2   test25  test30  test36  test41  test47  test52  test58  test63  test69  test74  test8   test85  test90  test96
test10           test15   test20  test26  test31  test37  test42  test48  test53  test59  test64  test7   test75  test80  test86  test91  test97
----------------------------------------------------------------------
创建test111 test333 test666 test999
[root@localhost ~]# touch test{111,333,666,999}
[root@localhost ~]# ls
aaa  abc  anaconda-ks.cfg  init.sh  test111  test333  test666  test999
-----------------------------------------------------
创建test1...test50文件夹 里面都有test文件
先循环创建文件夹,然后在这个路径下创建test文件
[root@localhost ~]# mkdir test{1..50}
[root@localhost ~]# touch test{1..50}/test
-----------------------------------------------------
[root@localhost ~]# touch /root/aaa/abc    在根目录 下面的root 下面的aaa创建一个abc文件
[root@localhost ~]# cd aaa
[root@localhost aaa]# ls
abc  bbb
创建成功

ls查看目录文件

查看当前目录下所有文件  包括文件夹,因为一切皆文件
格式如下:
	ls -l  等价于 ll :它是怎么实现的
	ls[选项][指定的路径(不加默认查询所在路径)]
    	选项
        	-l:查看文件详细信息
            -a:查看隐藏文件
            -h : 格式化显示文件大小(前提:必须跟-l参数一起使用)变成带k或者kb或者m的单位
			--color=auto : 显示颜色(注:不能够通过颜色判断文件属性)
-----------------------------------------------
dd
				if : 指定读取的文件路径
				of :  指定写入的文件名称
				bs :  定义一次写入多少内容
				count:定义写入多少次
要求生成一个1000M的文件
			
dd if=/dev/zero of=1.txt bs=10M count=100		: 结果是生成一个名为1.txt的文件,大小是1000M
-----------------------------------------------
[root@localhost ~]# ls -l
total 12                 #该目录的大小。12k 等同于total12
drwxr-xr-x. 2 root root    6 Sep 15 16:25 aaa
-rw-------. 1 root root 1774 Sep 14 16:20 anaconda-ks.cfg
-rw-r--r--. 1 root root 5632 Sep 14 20:46 init.sh
    #常见的文件的属性表示符  第一个字母就是
        f(FILE  也就是  -) 	: 普通文件的标识符
        d(DIRECTORY) 	:  普通文件夹的标识符
    #文件的权限 rw-r--r--
    	r : 可读
        w : 可写
        x : 可执行
        - :没有对应的权限
        #权限位:三个一个权限位  rw-      r--    r--
            属主(自己)
            属组(指定组中的所有的用户的权限)
            其他用户
     #1 	: 硬链接个数 (后面会详细讲记得补上)
			
				硬链接
				软连接
    # root root	: 用户 用户组(后面会详细讲记得补上)
    #大小字节数
    #文件创建时间
    #文件名称
-----------------------------------------------
创建隐藏文件
touch .abc 
查询隐藏文件
ls -a

-----------------------------------------------
	alias : 别名
	
		格式: 
			alias 字符="相关的命令"      
		查看系统所有的别名
			alias
[root@localhost ~]# alias 
alias cp='cp -i'
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'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

		设置一个别名
			alias lh="ls -l -h"
没颜色了
[root@localhost ~]# \ls -l
total 12
drwxr-xr-x. 2 root root    6 Sep 15 16:25 aaa
-rw-------. 1 root root 1774 Sep 14 16:20 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Sep 15 16:25 bbb
-rw-r--r--. 1 root root 5632 Sep 14 20:46 init.sh
   
有颜色了
[root@localhost ~]# \ls -l --color=auto
total 12
drwxr-xr-x. 2 root root    6 Sep 15 16:25 aaa
-rw-------. 1 root root 1774 Sep 14 16:20 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 Sep 15 16:25 bbb
-rw-r--r--. 1 root root 5632 Sep 14 20:46 init.sh
            	

cat读取文件

echo :输出
	echo[选项(非必须)] [输出内容][重定向字符(非必须)][重定向文件(非必须)]
    	-n显示行数
    >   覆盖重定向,删除之前的,从新加内容
    >>	追加重定向,在之前内容的结尾 加内容,原有的不变
	重定向	: 把某个内容,通过某种方式输入到指定文件中,即为重定向
    
    #把我是迪迦输入到2.txt中
    [root@localhost ~]# echo 我是迪迦 >2.txt
    [root@localhost ~]# cat 2.txt
    我是迪迦	
    
   # 把我是泰罗追加到2.txt中
    [root@localhost ~]# echo 我是泰罗 >>2.txt
    [root@localhost ~]# cat 2.txt
    我是迪迦
    我是泰罗
    
cat:读取,打印
	#cat[读取的文件路径]绝对路径,相对路径都行
    [root@localhost ~]# cat 2.txt
    我是迪迦
    我是泰罗
    
    #读取/etc/hosts文件内容,输入到3.txt中
    [root@localhost ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    [root@localhost ~]# 
    [root@localhost ~]# cat /etc/hosts >3.txt
    [root@localhost ~]# cat 3.txt
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
            
    #将127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
            写入到4.txt
    [root@localhost ~]# cat >4.txt <<EOF
    > 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    >      ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    > EOF   顶格写
    [root@localhost ~]# cat 4.txt
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
     ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    

cp复制文件

cp [选项(非必须)] [原路径] [新路径]
	选项:
    -r : 递归复制目录-复制目录 自己调自己,把一个文件夹所有内容全部复制过去
    -i : 增加覆盖提示
    -p : 保留原有文件的属性   比如时间等
    -d : 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; 原来的软连接一并复制过去
stat : 查看文件创建时间的
--------------------------------------------------------
[root@localhost ~]# cp 2.txt /tmp/
[root@localhost ~]# 
[root@localhost ~]# ls /tmp/
2.txt  ks-script-_hjsMi  vmware-root_1000-2965972329  vmware-root_975-4281646728  vmware-root_984-2999526209  yum.log
--------------------------------------------------------
var/log 文件夹复制到tmp文件夹下
[root@localhost ~]# cp -r /var/log/ /tmp/
[root@localhost ~]# ls /tmp
2.txt  ks-script-_hjsMi  log  vmware-root_1000-2965972329  vmware-root_975-4281646728  vmware-root_984-2999526209  yum.log
--------------------------------------------------------
要复制到的地方如果有这个文件夹,就会提示是否覆盖,因为alias里面给cp -i 起了一个别名 cp,如果很多文件一个一个点不合适 所以用\cp -r /var/log/ /tmp/ 就不会提示了
[root@localhost ~]# \cp -r /var/log/ /tmp/
[root@localhost ~]# ls /tmp
--------------------------------------------------------
仅将/var/log/maillog、/var/log/wtmp、/var/log/vmware-network.log三个文件复制到/tmp
[root@localhost ~]# cp /var/log/{maillog,vmware-network.log,wtmp} /tmp/
[root@localhost ~]# ls /tmp/
2.txt             log      vmware-network.log           vmware-root_975-4281646728  wtmp
ks-script-_hjsMi  maillog  vmware-root_1000-2965972329  vmware-root_984-2999526209  yum.log

--------------------------------------------------------/etc/system-release 复制到 /tmp目录下  后面还有个软连接 一并复制过来
[root@localhost ~]$ cp -d /etc/system-release /tmp/
[root@localhost ~]# ll /etc/system-release
lrwxrwxrwx. 1 root root 14 Sep 14 16:15 /etc/system-release -> centos-release
[root@localhost ~]# ll /tmp/
lrwxrwxrwx. 1 root root 14 Sep 14 16:15 /etc/system-release -> centos-release
--------------------------------------------------------
复制2.txt到/tmp目录中,要求不更改其创建时间
[root@localhost ~]$ cp -p 5.txt /tmp/
[root@localhost ~]# stat /tmp/2.txt
Access: 2021-09-15 17:18:09.194498795 +0800
Modify: 2021-09-15 17:18:06.467498966 +0800
Change: 2021-09-15 17:18:06.467498966 +0800
[root@localhost ~]# stat /tmp/2.txt
Access: 2021-09-15 17:18:09.194498795 +0800
Modify: 2021-09-15 17:18:06.467498966 +0800
Change: 2021-09-15 18:38:28.789196455 +0800
posted @ 2021-09-16 14:44  迪迦张  阅读(116)  评论(0编辑  收藏  举报