纵有疾风起
人生不言弃

数据仓库002 – 复习Linux shell命令 – echo bash_profile bashrc which命令的理解 alias history

 

 


1.echo 打印 。

echo 的作用是在屏幕上打印输出内容,与文件和持久化可以理解为没有丝毫关联。如:在屏幕上打印“ echo 的作用是打印文字! ”

    数据仓库002 – 复习Linux shell命令 – echo  bash_profile bashrc which命令的理解 alias history插图

   实例1:输出系统的环境变量名称 $PATH

[root@localhost ~]# echo $PATH/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@localhost ~]# 

 

 实例2:查看命令所属的路径在哪,首先先去$PATH找,如果找到第一个就返回结果并显示

[root@localhost ~]# which lsalias ls='ls --color=tty'        /bin/ls[root@localhost ~]#

 

 实例3:PATH=” 只清空当前session 会话的变量 $PATH ,并没有全局生效。

[root@localhost ~]# PATH=''[root@localhost ~]# echo $PATH[root@localhost ~]# which lsalias ls='ls --color=tty'[root@localhost ~]# ls-bash: ls: 没有那个文件或目录[root@localhost ~]# 

  恢复当前session 会话的变量 $PATH:

[root@localhost ~]#  PATH='/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin'[root@localhost ~]# echo $PATH/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin[root@localhost ~]# which lsalias ls='ls --color=tty'        /bin/ls[root@localhost ~]# lsanaconda-ks.cfg  install.log.syslog  password.txtinstall.log      ntuser.pol          student.txt[root@localhost ~]# 

 

 

2.环境变量。

  全局: /etc/profile     系统级环境的变量,提供所有用户使用
  个人:   ~/.bash_profile       用户级别不共享的环境变量,但是在使用SecureCRT等工具连接登录系统后,该文件内所配置的变量值,部分命令不会默认加载
       ~/.bashrc                 用户级别共享的环境变量,在使用SecureCRT等工具连接登录系统后,该文件内所配置的变量值,依然有效

  

  生效文件: source xxxx
       . ~/.bashrc

 

3.which命令的理解。

  which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

  也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 

  命令参数:

    -n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

    -p  与-n参数相同,但此处的包括了文件的路径。

    -w  指定输出时栏位的宽度。

    -V  显示版本信息

 

4.别名。

  可将别名以vi的方式写到.bash_profile、 .bashrc或者/etc/profile文件中,这样别名的定义就具有了持久性,但是要注意,根据写入的文件不同也会具有不一样效果,具体参照2.环境变量中的文件说明。

[root@localhost ~]# aliasalias cp='cp -i'alias l.='ls -d .* --color=tty'alias ll='ls -l --color=tty'alias ls='ls --color=tty'alias mv='mv -i'alias rm='rm -i'alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'[root@localhost ~]# alias l='cd /home/linux'[root@localhost ~]# l[root@localhost linux]# 

 

 

5.删除

[root@localhost linux]# touch xxx.log[root@localhost linux]# ll总计 28drwxr-xr-x 2 linux linux 4096 10-16 06:02 Desktop-rw-rw-r-- 1 linux linux    0 10-16 07:04 file1.txt-rw-rw-r-- 1 linux linux    0 10-16 07:07 file2.txtdrwxrwxr-x 2 linux linux 4096 10-16 07:10 ml-rw-r--r-- 1 root  root     0 11-22 01:01 xxx.log[root@localhost linux]# rm -f xxx.log [root@localhost linux]# ll总计 24drwxr-xr-x 2 linux linux 4096 10-16 06:02 Desktop-rw-rw-r-- 1 linux linux    0 10-16 07:04 file1.txt-rw-rw-r-- 1 linux linux    0 10-16 07:07 file2.txtdrwxrwxr-x 2 linux linux 4096 10-16 07:10 ml[root@localhost linux]# cat /dev/null > xxx.log[root@localhost linux]# ll总计 28drwxr-xr-x 2 linux linux 4096 10-16 06:02 Desktop-rw-rw-r-- 1 linux linux    0 10-16 07:04 file1.txt-rw-rw-r-- 1 linux linux    0 10-16 07:07 file2.txtdrwxrwxr-x 2 linux linux 4096 10-16 07:10 ml-rw-r--r-- 1 root  root     0 11-22 01:02 xxx.log[root@localhost linux]# rm -f xxx.log [root@localhost linux]# ll总计 24drwxr-xr-x 2 linux linux 4096 10-16 06:02 Desktop-rw-rw-r-- 1 linux linux    0 10-16 07:04 file1.txt-rw-rw-r-- 1 linux linux    0 10-16 07:07 file2.txtdrwxrwxr-x 2 linux linux 4096 10-16 07:10 ml[root@localhost linux]# mkdir 1111[root@localhost linux]# ll总计 32drwxr-xr-x 2 root  root  4096 11-22 01:02 1111drwxr-xr-x 2 linux linux 4096 10-16 06:02 Desktop-rw-rw-r-- 1 linux linux    0 10-16 07:04 file1.txt-rw-rw-r-- 1 linux linux    0 10-16 07:07 file2.txtdrwxrwxr-x 2 linux linux 4096 10-16 07:10 ml[root@localhost linux]# rm -rf 1111/[root@localhost linux]# ll总计 24drwxr-xr-x 2 linux linux 4096 10-16 06:02 Desktop-rw-rw-r-- 1 linux linux    0 10-16 07:04 file1.txt-rw-rw-r-- 1 linux linux    0 10-16 07:07 file2.txtdrwxrwxr-x 2 linux linux 4096 10-16 07:10 ml[root@localhost linux]# 

  其中,文件: touch xxx.log 

        cat /dev/null > xxx.log             vi命令 也会生成新文件

     文件夹: mkdir

   rm -f rz.log11 直接删除文件
   rm -rf 1 直接删除文件夹

 

6.history

[root@localhost linux]# history    1  history    2   echo "echo 的作用是打印文字!"    3  ping www.baidu.com    4  history[root@localhost linux]# !2 echo "echo 的作用是打印文字!"echo 的作用是打印文字![root@localhost linux]# 

  !2 表示:执行历史指定的第2条命令,由于Linux没有回收站,所以当发生高危命令风险: rm -rf /  ,结果是很严重很严重的,但是这条指令往往会被我们不经意间使用,下面是一个典型的shell脚本案例:  

K='/home/jepson'K=''判断 $K命令是否存在rm -rf $K/*

  

  那么,一旦发生了这样的后果怎么办呢? 答案当然是删除history的记录了,使用history -c 命令进行清空history,但是这种情况只针对使用SecureCRT等工具直接连接 ,或者跳板机的时候使用,对于堡垒机而言还是会记录你的操作命令。

[root@localhost linux]# history    1  history    2   echo "echo 的作用是打印文字!"    3  ping www.baidu.com    4  history[root@localhost linux]# !2 echo "echo 的作用是打印文字!"echo 的作用是打印文字![root@localhost linux]# history -c [root@localhost linux]# history    1  history

 

 

 

文章转载于:https://www.cnblogs.com/Raodi/p/11909415.html

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 数据仓库002 – 复习Linux shell命令 – echo bash_profile bashrc which命令的理解 alias history
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录