·
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’ -------- 很显然这是个别名
-