centos7遇到-bash-4.2#问题

centos7遇到-bash-4.2#问题,第1张

首先是描述一下问题的产生过程吧:不小心cp了很多的文件到/root/下面去了,去/root/下执行ll发现好多好多文件,这样对我要查找需要的文件来说实在是太麻烦了,没有一目了然的感觉了,于是我rm –rf /root/和rm –f/root/将/root/目录下的所有文件都删除了,当时以为这样式正常的删除,没有什么副作用。但是,以后问题就来了,发现只要su到root用户下面去就会出现-bash-4.2#开头的命令行,以前的是[root@localhost~]#,这肯定有问题啊,虽然后面的命令不会受影响,但是前面的路径看不到了,这是很难受的!

于是百度,发现了原来是因为/root/下面的隐藏文件“.bash_profile”文件丢掉了,到这儿才发现是删除/root/下的文件的时候,是全部删掉了的,没有注意到隐藏文件。到了这儿问题就明显了,好了,接下来就是修复这个问题了!但是在修复前有个问题就是网上一些说直接从普通用户家目录下面复制.bash_profile文件到/root/目录下面就可以了,但是测试后不可以,原先很简单,就是两个文件不一样。我们先来看看普通用户user1和user2下的.bash_profile文件是不是一样的:

[root@localhost ~]# vimdiff/home/user1/.bash_profile/home/user2/.bash_profile

结果发现普通用户之间是相同的,那么我们再看看root用户和普通用户之间是否也一样呢?[root@localhost ~]# vimdiff.bash_profile/home/user1/.bash_profile

这是截图,看出不同了吧,所以要从普通用户复制.bash_profile过来,还要修改一点文件的,就是将红色区域删除,就是删除“.local/bin:$HOME/”就可以了。

好了,到这儿了,原理文件都说的差不多了,接下来就是模拟出错环境和恢复过程:

首先在没有删除/root/下隐藏文件的时候去/root/下面ls –al | grep “.bash_profile”一下,看看有没有.bash_profile

[root@localhost ~]# ls -al | grep".bash_profile"

-rw-r--r--.1 root root176 Apr 12 16:18.bash_profile

-rw-r--r--.1 root root 12288 Apr 12 12:41 .bash_profile.swp

结果发现是有“.bash_profile”这个文件的!,接下来我们把它删了

[root@localhost ~]# rm -f .bash_profile

[root@localhost ~]# ls -al | grep".bash_profile"

-rw-r--r--.1 root root 12288 Apr 12 12:41 .bash_profile.swp

看出确实是删掉了,到这儿就是模拟了丢失.bash_profile文件环境,接下来我们就看看丢了这个文件的后果:

[user1@localhost ~]$ su -

Password:

Last login: Wed Apr 12 16:18:58 CST 2017 onpts/0

-bash-4.2# ls

anaconda-ks.cfginitial-setup-ks.cfg

-bash-4.2# pwd

/root

-bash-4.2#

结果是不是很怪,切换到root用户的时候,竟然不是[root@localhost ~]#,而是-bash_4.2#,这样我们一眼看不出当前的工作目录,很不舒服,接下来就是去恢复这个.bash_profile的文件了,如果之前有备份/root/下的.bash_profile文件,就好办了,直接cp到/root/下就可以了,但是之前是直接删掉了的,没有备份,没有原件了。那就到普通用户下面去复制修改一份.bash_profile文件到/root/文件下去

先复制文件到root家目录中去:

-bash-4.2# cp/home/user1/.bash_profile./

-bash-4.2# ls -al | grep".bash_profile"

-rw-r--r--.1 root root193 Apr 12 19:09.bash_profile

修改.bash_profile文件:

-bash-4.2# cat ./.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]then

.~/.bashrc

fi

# User specific environment and startupprograms

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

-bash-4.2# vim ./.bash_profile

-bash-4.2# cat ./.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]then

.~/.bashrc

fi

# User specific environment and startupprograms

PATH=$PATH:$HOME/bin

export PATH

-bash-4.2#

好了,修改成功了;我们su –刷新一下!

-bash-4.2# su -

Last login: Wed Apr 12 19:09:03 CST 2017 onpts/0

[root@localhost ~]#

O(∩_∩)O~,发现又恢复了,到这儿就彻底解决了!

CentOS中文件夹基本 *** 作命令的讲解 ls--显示指定目录下内容说明:ls 显示结果以不同的颜色来区分文件类别。蓝色代表目录,灰色代表普通文件,绿色代表可执行文件,红色代表压缩文件,浅蓝色代表链接文件。-a---显示所有内容,包括隐藏文件 说明:在Linux系统中,以“.”开头的就是隐藏文件或隐藏目录。 -l---以长格式(内容更详细)显示文件或目录的详细信息。说明:ls -l命令可以简写成ll, 输出的信息共分为7组: 文件类别和文件权限、链接数或子目录个数、文件所有者、文件所属组、文件大小(单位为字节B)、文件创建或修改时间、文件名。 文件类别:第一组前1位表示文件类别,“-”代表普通文件,“d”代表目录,“l”代表符号链接,“c”代表字符设备,“b”代表块设备 文件权限:第一组后9位表示文件权限,前3位为user、中间3位为group、后三位为other的权限 -d---显示目录本身的属性而不是目录中的内容。 1 [root@localhost ~]# ls -ld /home 2 drwxr-xr-x. 4 root root 4096 9月 22 10:41 /home 3 [root@localhost ~]# ls -d /home 4 /home 5 [root@localhost ~]# -h---以K、M、G等单位显示文件大小(默认为字节) 1 [root@localhost ~]# ls -h /home 2 justin lost+found 3 [root@localhost ~]# ls -lh /home 4 总用量 20K 5 drwx------. 27 justin justin 4.0K 9月 22 13:19 justin 6 drwx------. 2 root root 16K 9月 18 15:30 lost+found 7 [root@localhost ~]# -R---若目录下有档案,也将档案依序列出 1 [root@localhost ~]# ls -lR /home 2 /home: 3 总用量 20 4 drwx------. 27 justin justin 4096 9月 22 13:19 justin 5 drwx------. 2 root root 16384 9月 18 15:30 lost+found 6 /home/justin: 7 总用量 32 8 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 公共的 9 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 模板 10 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 视频 11 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 图片 12 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 文档 13 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 下载 14 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 音乐 15 drwxr-xr-x. 2 justin justin 4096 9月 22 10:49 桌面 16 /home/justin/公共的: 17 总用量 0 18 /home/justin/模板: 19 总用量 0 20 /home/justin/视频: 21 总用量 0 22 /home/justin/图片: 23 总用量 0 24 /home/justin/文档: 25 总用量 0 26 /home/justin/下载: 27 总用量 0 28 /home/justin/音乐: 29 总用量 0 30 /home/justin/桌面: 31 总用量 0 32 /home/lost+found: 33 总用量 0 34 [root@localhost ~]# -t---将档案按照建立时间的先后次序列出 1 [root@localhost ~]# ls -l /home 2 总用量 20 3 drwx------. 27 justin justin 4096 9月 22 13:19 justin 4 drwx------. 2 root root 16384 9月 18 15:30 lost+found 5 -rw-r--r--. 1 root root 0 9月 22 15:21 t 6 [root@localhost ~]# ls -lt /home 7 总用量 20 8 -rw-r--r--. 1 root root 0 9月 22 15:21 t 9 drwx------. 27 justin justin 4096 9月 22 13:19 justin 10 drwx------. 2 root root 16384 9月 18 15:30 lost+found 11 [root@localhost ~]# 说明:ls命令还可以结合通配符“?”或“*”一起使用,问号“?”可以匹配文件名中的一个任意字符,而“*”可以匹配文件名中的任意多个字符。这两个通配符同样也适用于Shell环境中的其他大多数命令。 1 gssapi_mech.conf popt.d xml 2 gtk-2.0 portreserve yp.conf 3 hal postfix yum 4 host.conf ppp yum.conf 5 hosts prelink.cache yum.repos.d 6 hosts.allow prelink.conf 7 hosts.deny prelink.conf.d 8 [root@localhost etc]# ll -d /etc/po*.d 9 drwxr-xr-x. 2 root root 4096 1月 11 2010 /etc/popt.d 10 [root@localhost etc]# ll -d /etc/po?.d 11 ls: 无法访问/etc/po?.d: 没有那个文件或目录 12 [root@localhost etc]# du---显示文件或目录大小 -h或--human-readable---以K,M,G为单位,提高信息的可读性 1 [root@localhost src]# du -h nagios-3.5.0.tar.gz 2 1.8M nagios-3.5.0.tar.gz 3 [root@localhost src]# du nagios-3.5.0.tar.gz 4 1748 nagios-3.5.0.tar.gz 5 [root@localhost src]# -a---显示全部目录和其次目录下的每个档案所占的磁盘空间 -b或-bytes---显示目录或文件大小时,以byte为单位 1 [root@localhost local]# du -b src/nagios-3.5.0.tar.gz 2 1789376 src/nagios-3.5.0.tar.gz 3 [root@localhost local]# -c或--total---显示每个目录或文件的大小外,同时也显示所有目录或文件的总和 -m或--megabytes---以1MB为单位 -s---只显示各档案大小的总合 1 [root@localhost local]# du -sh src/ 2 41M src/ 3 [root@localhost local]# -x---只计算同属同一个档案系统的档案 -L---计算所有的档案大小 df---显示档案系统的状况主要用来了解系统中已经挂载的各个文件系统的磁盘使用情况


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11458432.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存