标签: Shell

  • 在shell命令行下让mplayer循环播放和播放列表

    第一步:将所有要播放的多媒体文件放在~/music/目录下;
      
       第二步:进入music目录,执行ls > music.lst,则在music目录下生成一个名为music.lst的列表文件,并把music目录下的文件名写入到music.lst文件中;
      
       第三步:运行mplayer -playlist music.lst即可实现列表播放
      
       值得注意的是第二步中,生成的多媒体列表文件music.lst一定要与要播放的多媒体文件保存在同一个目录中,否则mplayer播放时会有找不到文件的错误提示。
      
       如果要删除一些不想听的多媒体文件,则用编辑器打开music.lst列表文件,删除对应的文件名即可,保存时要注意一行一个文件名,不能有空行。
      
       如果要增加文件,执行命令echo filename >> music.lst即可,即可将新增的文件名追加在music.lst列表文件末。

  • /bin/false and /usr/sbin/nologin

    要拒绝系统用户登录,可以将其shell设置为/usr/sbin/nologin或者/bin/false

     

    # usermod -s | –shell /usr/sbin/nologin username

    或者

     

    # usermod -s | -shell /bin/false username

    /bin/false

     

    /bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示。

     

    /usr/sbin/nologin

     

    nologin会礼貌的向用户显示一条信息,并拒绝用户登录:

     

    This account is currently not available.

     

    有一些软件,比如一些ftp服务器软件,对于本地非虚拟账户,只有用户有有效的shell才能使用ftp服务。这时候就可以使用nologin使用户即不能登录系统,还能使用一些系统服务,比如ftp服务。/bin/false则不行,这是二者的重要区别之一。

     

    /etc/nologin

     

    如果存在/etc/nologin文件,则系统只允许root用户登录,其他用户全部被拒绝登录,并向他们显示/etc/nologin文件的内容。

     

    锁定用户账户

     

    # passwd -l | –lock username

    #解锁用户账户

     

    # passwd -u | –unlock username

    删除用户密码

     

    # passwd -d | –delete username

    ===

  • linux下创建/删除用户

    #/bin/bash

     

    del_user() {

    echo “请输入用户名:”

    read user

    echo “请确认是否删除(y/n)?”

    read isDel

    if [ $isDel = ‘y’ ]; then

    userdel -r $user

    echo -e “\t\t\t\t|——————————|”

    echo -e “\t\t\t\t|——- 用户 ‘$user’ 已删除 ——|”

    echo -e “\t\t\t\t|——————————|”

    fi

    }

     

    add_user() {

    echo “请输入用户名:”

    read user

    useradd $user -d /work/$user

    passwd $user

    echo -e “\t\t\t\t|——————————|”

    echo -e “\t\t\t\t|——- 用户 “$user” 已创建 ——|”

    echo -e “\t\t\t\t|——————————|”

    }

     

    menu() {

    while :

    do

    echo “1.添加用户”

    echo “2.删除用户”

    echo “0.退出”

    echo -e “\n请选择:”

    read choice

    case $choice in

    1) add_user;;

    2) del_user;;

    0) exit;;

    *) menu;;

    esac

    done

    }

     

    menu

  • Linux Shell 调用系统时间变量

    Shell 调用系统时间变量

     

    获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d)

    获取昨天时期:`date -d yesterday +%Y%m%d`

    获取前天日期:`date -d -2day +%Y%m%d`

    依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`

    或n天前的 `date -d “n days ago” +%y%m%d`

    明天:`date -d tomorrow +%y%m%d`

    注意以上中间有空格

     

    时间域

    % H 小时(00..23)

    % I 小时(01..12)

    % k 小时(0..23)

    % l 小时(1..12)

    % M 分(00..59)

    % p 显示出AM或PM

    % r 时间(hh:mm:ss AM或PM),12小时

    % s 从1970年1月1日00:00:00到目前经历的秒数

    % S 秒(00..59)

    % T 时间(24小时制)(hh:mm:ss)

    % X 显示时间的格式(%H:%M:%S)

    % Z 时区 日期域

    % a 星期几的简称( Sun..Sat)

    % A 星期几的全称( Sunday..Saturday)

    % b 月的简称(Jan..Dec)

    % B 月的全称(January..December)

    % c 日期和时间( Mon Nov 8 14:12:46 CST 1999)

    % d 一个月的第几天(01..31)

    % D 日期(mm/dd/yy)

    % h 和%b选项相同

    % j 一年的第几天(001..366)

    % m 月(01..12)

    % w 一个星期的第几天(0代表星期天)

    % W 一年的第几个星期(00..53,星期一为第一天)

    % x 显示日期的格式(mm/dd/yy)

    % y 年的最后两个数字( 1999则是99)

    % Y 年(例如:1970,1996等)

    注意:只有超级用户才有权限使用date命令设置时间,一般用户只能使用date命令显示时间。