shell里输入回车
引用:
最初由 KanKer 发表 我这里echo不行。 [abc@abc abc]$ echo "/n" /n [abc@abc abc]$ printf "/n" 呵呵,用printf可以:) |
如何在Linux 让Telnet root用户可以登入
telnet 不是很安全,默认的情况之下不允许 root 以 telnet 进入 Linux 主机 。若要允许root用户登入,可用下列方法:
[root @wljs /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
[root@wljs root]# mv /etc/securetty /etc/securetty.bak
这样, root 就可以直接进入 Linux 主机了。不过,建议不要这样做。也可以在普通用户进入后,切换到root用户,拥有root的权限
[root @wljs /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
[root@wljs root]# mv /etc/securetty /etc/securetty.bak
这样, root 就可以直接进入 Linux 主机了。不过,建议不要这样做。也可以在普通用户进入后,切换到root用户,拥有root的权限
export PATH=/usr/X11R6/bin:/usr/local/texlive/2007/bin/i386-linux/:/folk/xfu/bin:/usr/local/bin:/usr/openwin/bin:/usr/X11R6/bin:/usr/local/texlive/2007/bin/i386-linux/:/folk/xfu/bin:/usr/local/bin:/usr/openwin/bin:/usr/bin::/bin:/sbin/:/xusr/bin:/usr/atria/bin:/folk/cm/bin:/folk/qms/tools:/folk/vlm/commandline:/usr/X11R6/bin
shell如何将标准错误输出重定向为标准输出
经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用
/tmp/test.sh > /tmp/test.log 2>&1
前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢?
前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢?
要解释这个问题,还是得提到文件重定向。我们知道>和<是文件重定向符。那么1和2是什么?在shell中,每个进程都和三个系统文件相关联:标准输入stdin,标准输出stdout和标准错误stderr,三个系统文件的文件描述符分别为0,1和2。所以这里2>&1的意思就是将标准错误也输出到标准输出当中。
下面通过一个例子来展示2>&1有什么作用:
$ cat test.sh
t
date
test.sh中包含两个命令,其中t是一个不存在的命令,执行会报错,默认情况下,错误会输出到stderr。date则能正确执行,并且输出时间信息,默认输出到stdout
t
date
test.sh中包含两个命令,其中t是一个不存在的命令,执行会报错,默认情况下,错误会输出到stderr。date则能正确执行,并且输出时间信息,默认输出到stdout
#./test.sh > test1.log
#./test.sh: line 1: t: command not found
$ cat test1.log
可以看到,date的执行结果被重定向到log文件中了,而t无法执行的错误则只打印在屏幕上。
#./test.sh: line 1: t: command not found
$ cat test1.log
可以看到,date的执行结果被重定向到log文件中了,而t无法执行的错误则只打印在屏幕上。
$ ./test.sh > test2.log 2>&1
$ cat test2.log
./test.sh: line 1: t: command not found
这次,stderr和stdout的内容都被重定向到log文件中了。
$ cat test2.log
./test.sh: line 1: t: command not found
这次,stderr和stdout的内容都被重定向到log文件中了。
实际上, > 就相当于 1> 也就是重定向标准输出,不包括标准错误。通过2>&1,就将标准错误重定向到标准输出了,那么再使用>重定向就会将标准输出和标准错误信息一同重定向了。如果只想重定向标准错误到文件中,则可以使用2> file。
umask
1. umask
需要参考的其他文件umask 用法:umask决定目录和文件被创建时得到的初始权限umask = 022时新建的目录权限是755 文件的权限是 644777-022=755666-022=644为了能够上传覆盖,umask=000777-000=777666-000=666
用umask命令查看或设置当前的umask
$ umask000
$ umask 022
你可以改变一下umask,建立目录和文件,观察一下还有,umask是unix操作系统的概念
需要参考的其他文件umask 用法:umask决定目录和文件被创建时得到的初始权限umask = 022时新建的目录权限是755 文件的权限是 644777-022=755666-022=644为了能够上传覆盖,umask=000777-000=777666-000=666
用umask命令查看或设置当前的umask
$ umask000
$ umask 022
你可以改变一下umask,建立目录和文件,观察一下还有,umask是unix操作系统的概念
chkconfig
Linux
中有多种运行级,常见的就是多用户的
2
,
3
,
4
,
5
,很多人知道
5
是运行
X-Windows
的级别,而
0
就是关机了。运行级的改变可以通过
init
命令来切换。例如,假设你要维护系统进入单用户状态,那
么,可以使用
init1
来切换。在
Linux
的运行级的切换过程中,系统会自动寻找对应运行级的目录
/etc/rc[0-6].d
下的
K
和
S
开头的文件,
按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事情,
Linux
提供了
chkconfig
命令用来更新和查询不同运行级上的系统服
务。
范例:
1.查看在各种不同的执行等级中,各项服务的状况:
$chkconfig --list
2.列出系统服务vsftpd在各个执行等级的启动情况:
$chkconfig --list vsftpd
3.在执行等级3,5时,关闭vsftpd系统服务:
$chkconfig --level 35 vsftpd off
4.在执行等级2,3,5时,开启 vsftpd系统服务:
$chkconfig --level 235 vsftpd on
5.关闭一些自己不需要的服务 ->
如果没有打印机:
chkconfig --level 235 cups off
如果没有局域网:
chkconfig --level 235 smb off
如果不需要远程用户登录的:
chkconfig --level 235 sshd off
如果不需要定时任务的:
chkconfig --level 235 crond off
如果不需要添加新硬件的:
chkconfig --level 235 kudzu off