Linux杂记

此帖子用于记录使用Linux过程中遇到的各种小问题。


1、使用ln命令跨分区链接目录时,报错“目录链接出错”。

答:2.4 kernel以上,可以用mount –bind命令来链接。

 The bind mounts.
              Since Linux 2.4.0 it is possible to remount  part  of  the  file
              hierarchy somewhere else. The call is
                     mount --bind olddir newdir
              or shortoption
                     mount -B olddir newdir
              or fstab entry is:
                     /olddir /newdir none bind

              After  this  call the same contents is accessible in two places.
              One can also remount a single file (on a single file). It's also
              possible  to  use  the  bind mount to create a mountpoint from a
              regular directory, for example:

                     mount --bind foo foo

              The bind mount call attaches only (part of) a single filesystem,
              not possible submounts. The entire file hierarchy including sub‐
              mounts is attached a second place using

                     mount --rbind olddir newdir

              or shortoption
                     mount -R olddir newdir

              Note that the filesystem mount options will remain the  same  as
              those  on  the  original  mount  point, and cannot be changed by
              passing the -o  option  along  with  --bind/--rbind.  The  mount
              options  can be changed by a separate remount command, for exam‐
              ple:

                     mount --bind olddir newdir
                     mount -o remount,ro newdir

              Note that behavior of  the  remount  operation  depends  on  the
              /etc/mtab  file. The first command stores the 'bind' flag to the
              /etc/mtab file and the second command reads the  flag  from  the
              file.  If you have a system without the /etc/mtab file or if you
              explicitly define source and  target  for  the  remount  command
              (then  mount(8)  does  not read /etc/mtab), then you have to use
              bind flag (or option) for the remount command too. For example:

                     mount --bind olddir newdir
                     mount -o remount,ro,bind olddir newdir

继续阅读Linux杂记

Linux修改用户Shell

非管理员权限:

$chsh

这时你会获得提醒, 要求输入新的 Shell 应用路径. 如果你要换成 bash, 请输入 /bin/bash 并回车确认.

Enter the new value, or press ENTER for the default
Login Shell [/bin/sh]:

管理员权限:

# vim /etc/passwd

打开 /etc/passwd 文件, 你将看到所有用户及其使用的 Shell, 会有很多行类似这样的内容, 每行是一个用户.

yclimw:x:1003:33::/home/yclimw:/bin/sh

这里只需要件 /bin/sh 改成 /bin/bash 即可.

yclimw:x:1003:33::/home/yclimw:/bin/bash

添加用户时指定 Shell

在添加用户时可以通过以下命令指定 Shell.

#useradd -s /bin/bash {用户昵称}