05-linux基础命令(二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/dushansao/article/details/101168086

·

Linux基础命令(二)


*在这里插入图片描述


  • pwd:pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。

示例:

  • [root@CentOS7 ~]# pwd
    /root
    [root@CentOS7 ~]# cd /home/student/
    [root@CentOS7 student]# pwd
    /home/student
    [root@CentOS7 student]#


  • mv:mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。
    如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  • 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。**

选项:

  • –backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
    -b:当文件存在时,覆盖前,为其创建一个备份;
    -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
    -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
    –strip-trailing-slashes:删除源文件中的斜杠“/”;
    -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
    –target-directory=<目录>:指定源文件要移动到目标目录;
    -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

示例:

  • 将文件text更名为textAB

    [root@CentOS7 student]# ls
    text
    [root@CentOS7 student]# mv text textAB
    [root@CentOS7 student]# ls
    textAB
    [root@CentOS7 student]#

将文件textAB移动到 /home/student/下,若该目录下有相同文件名,则将其覆盖;

[root@CentOS7 student]# touch /home/td/textAB
[root@CentOS7 student]# ls
textAB
[root@CentOS7 student]# mv -f /home/td/textAB /home/student/
[root@CentOS7 student]#
[root@CentOS7 student]# ls /home/td/
Desktop Documents Downloads Music Pictures Public Templates Videos
[root@CentOS7 student]# ls
textAB


  • echo:echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串.

选项:

  • -e:激活转义字符。
    使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;

示例:

  • 打印任意一段字符

    [root@CentOS7 student]# echo “Hello,welcome to BeiJing”
    Hello,welcome to BeiJing
    [root@CentOS7 student]#

  • 打印一段有色字符

[root@CentOS7 student]# echo -e “\e[1;31mThis is red text\e[0m”
This is red text (这里输出的是一段红色的字符)
[root@CentOS7 student]# echo -e “\e[1;42mGreed Background\e[0m”
Greed Background (这里输出的是一段绿色的字符)
[root@CentOS7 student]#

  • 你也可以用它将一段字符追加至某个文件中

[root@CentOS7 student]# cat textAB
[root@CentOS7 student]# echo “Hello,welcome to BeiJing” >> textAB
[root@CentOS7 student]# cat textAB
Hello,welcome to BeiJing
[root@CentOS7 student]#


  • su:su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

选项:

  • -c<指令>或–command=<指令>:执行完指定的指令后,即恢复原来的身份;
    -f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
    -l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
    -m,-p或–preserve-environment:变更身份时,不要变更环境变量;
    -s或–shell=:指定要执行的shell;

示例:

  • 切换至student用户·;切换至root并在执行ls指令后退回student用户·

    [root@CentOS7 ~]# su - student
    Last login: Thu Sep 5 16:38:18 CST 2019 on pts/1
    [student@CentOS7 ~]$ su -c ls root
    Password:
    textAB
    [student@CentOS7 ~]$


  • type:type命令用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。

命令类型:

  • alias:别名。
    keyword:关键字,Shell保留字。
    function:函数,Shell函数。
    builtin:内建命令,Shell内建命令。
    file:文件,磁盘文件,外部命令。
    unfound:没有找到。

选项:

  • -t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”;
    -p:如果给出的指令为外部指令,则显示其绝对路径;
    -a:在环境变量“PATH”指定的路径中,显示给定指令的信息,包括命令别名。

示例:

[student@CentOS7 ~]$ type cd
cd is a shell builtin
[student@CentOS7 ~]$ type ls
ls is aliased to `ls --color=auto’
[student@CentOS7 ~]$ type cat
cat is /bin/cat
[student@CentOS7 ~]$ type mv
mv is /bin/mv
[student@CentOS7 ~]$ type tree
tree is /bin/tree
[student@CentOS7 ~]$ type pwd
pwd is a shell builtin
[student@CentOS7 ~]$ type echo
echo is a shell builtin
[student@CentOS7 ~]$

根据打印信息判断命令类型 :

  • XXXX is a shell builtin --------打印此信息表示这是一个内部命令
  • XXX is /bin/XXXX ---------- 打印此信息表示这是一个外部命令
  • ls is aliased to `ls --color=auto’ -------- 很显然这是个别名

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/dushansao/article/details/101168086