linux 回收站的路径:~/.local/share/Trash
1.普通文件
普通文件就是一般意义上的文件,它们作为数据存储在系统磁盘中,可以随机访问文件的内容。Linux系统中的文件是面向字节的,文件的内容以字节为单位进行存储与访问。
2.目录
在Linux系统中,目录也是一种特殊的文件,它们用来包含文件,文件一定在某个目录下。
3.管道
管道是Linux系统中一种进程通信的机制。通常,一个进程写一些数据到管道中,这些数据就可以被另一个进程从这个管道中读取出来。管道可以分为两种类型:无名管道与命名管道。
>.无名管道由进程在使用时创建,读写结束关闭文件后消失。之所以成为无名管道,是因为它们并不存在于文件系统中,没有文件名称。
>.命名管道在形式上就是文件系统中的一个文件,虽然并不占用存储文件内容的磁盘空间,但有自己的文件名。命名管道通常称为FIFO。
4.设备文件
设备文件形式上也是文件系统中的文件,与普通文件不同的是,它没有具体的内容,对设备文件的读写操作实际上是与某个设备的输入输出操作关联在一起。设备文件有两种类型:字符设备文件与块设备文件。
>.字符设备能够以字符(一个字节)为单位进行输入输出操作,内核不会对设备输入输出的数据进行缓冲和排序。
>.块设备的输入输出以块为单位,每个块有固定的字节数(一般为512字节的整数倍)并且有唯一的地址,可以进行随机访问。块设备的最大特点就是可以容纳一个文件系统,有文件系统的块设备可以被挂载到某个目录中。对块设备的访问将被内核缓冲并且有可能重新编排访问请求的顺序,以提高数据的读写效率。
5.符号链接
符号链接是一种特殊的文件,它的内容是指向另一个文件的路径。当对符号链接进行操作时,系统根据情况会对这个操作转移到它所指向的文件上去,而不是对它本身进行操作。例如,读一个符号链接时,实际读到的是它所指向的文件的内容。
6.socket
socket(或称套接字)也是一种进程间通信的方式。与管道不同的是,它们可以在不同主机上的进程间通信,实际上就是网络通信。socket在Linux系统上也是以文件的方式进行操作的。
/etc/init.d目录下的apache服务脚本httpd在执行chkconfig --add httpd时出现错误:
“service httpd does not support chkconfig”
分析:每个服务脚本的开头的几行里都会有给chkconfig用的注释。表明一些chkconfig用的信息,具体格式可以man chkconfig一下。
比如我后来在httpd文件的开头加入了一下几行,就可以了:
#!/bin/sh
#
# Startup script for the Apache Web Server
#
# chkconfig: 345 85 15 (这个比较有意思,345代表在设置在那个level中是on的,如果一个都不想on,那就写一个横线"-",比如:chkconfig: - 85 15。后面两个数字当然代表S和K的默认排序号啦)
# description: Apache is a World Wide Web server. It is used to serve \
# HTML files and CGI.
# processname: httpd
# pidfile: /var/run/httpd.pid
# config: /usr/local/apache2/conf/httpd.conf (我装东西比较喜欢都放在/usr/local下)
# Source function library.
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/httpd ]; then
. /etc/sysconfig/httpd
fi
INITLOG_ARGS=""
apachectl=/usr/local/apache2/bin/apachectl
httpd=${HTTPD-/usr/local/apache2/bin/httpd}
prog="httpd"
start()
{
ps -ef | grep "$prog" | grep -v "grep" | grep -v "start" > /dev/null
if [ "$?" -eq "1" ]; then
echo -n $"Starting $prog: "
daemon $httpd $OPTIONS
ret=$?
echo
[ "$ret" -eq "0" ] && touch /var/lock/subsys/httpd
return 0
else
echo "httpd running"
return 0
fi
}
stop()
{
status httpd >/dev/null >&1
ret_status=$?
if [ $ret_status -eq 2 ]; then
rm -f /var/lock/subsys/httpd /var/run/httpd.pid
echo "httpd stopped"
return 0
elif [ $ret_status -eq 3 ]; then
echo "httpd stopped"
return 0
fi
echo -n $"Stopping $prog: "
killproc $httpd
ret=$?
echo
[ "$ret" -eq "0" ] && rm -f /var/lock/subsys/httpd /var/run/httpd.pid
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status httpd
;;
restart)
stop
sleep 2
start
;;
*)
echo $"Usage: $prog {start|stop|restart|status}"
exit 1
esac