linux文件操作
‘壹’ linux 文件操作问题
我写第一个吧,仅供参考:
/*---------code-------------*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
void what_is( int);
int main()
{
struct stat info;
if( stat("/etc/passwd", &info) == -1 )
perror("etc/passwd");
else
what_is( info.st_mode );
printf("last access time is %s\n", ctime(&info.st_mtime));
return 0;
}
void what_is( int mode )
{
if( S_ISDIR(mode) ) printf("/etc/passwd is Directory file.\n");
if( S_ISFIFO(mode) ) printf("/etc/passwd is Fifo file.\n");
if( S_ISLNK(mode) ) printf("/etc/passwd is link file.\n");
if( S_ISREG(mode) ) printf("/etc/passwd is regular file.\n");
if( S_ISSOCK(mode) ) printf("/etc/passwd is socket file.\n");
}
/*--------end--------*/
问一下楼上那个兄弟,你说的猪八戒是什么?
‘贰’ linux下的文件管理操作
1、复制文件和目录
在Linux中使用命令cp来复制文件或者目录,使用方式:
cp 源文件(文件夹) 目标文件(文件夹)
cp命令常用参数:
-r 递归复制整个目录
-v 显示详细信息
2、移动、重命名一个文件或目录
使用mv命令来移动或者重命名一个文件夹以及目录,使用方式:
mv 源文件(文件夹) 目标目录
移动时如果指定文件名,则会进行重命名
3、删除文件或目录
使用命令rm用以删除一个文件或文件夹,使用方式:
rm 文件/文件夹
rm命令常用参数:
-i 交互式删除
-r 递归删除文件夹下所有文件
-f 强制删除,不提示(慎用)
4、创建和删除空目录
使用命令mkdir可以创建一个空目录
mkdir 目录名称
使用命令rmdir可以删除一个空目录
rmdir 目录名称
如果是需要删除包含文件的目录的话还是要使用rm -r命令
注意:以上内容只是简单的介绍了文件的基本操作,更多内容需要自己慢慢学习。
‘叁’ Linux 文件操作!
进入自己的主目录
find -name *.html
find -name *.C
查找文件或目录
find -name abc 在当前目录中查找abc文件
find / -name abc 从/目录开始查找
find /home/feng -name "abc*" 在路径/home/feng中查找开头带有abc字母的文件
find / -amin -10 查找在系统中最后10分钟访问的文件
find / -atime -2 查找在系统中最后48小时访问的文件
find / -user feng 查找在系统中属于feng这个用户
‘肆’ 在Linux如何对文件进行操作
你可以使用ls –l命令列出目录的详细信息,就相当于DOS的DIR命令。ls命令的输出如下所示:total 2
drwxr-xr-x 2 xu user 1024 Mar 13 0:34 sub1
-rw-r----- l xu user 678 Jun 15 1:45 hodo.txt
最左边一列是文件/目录权限,第3列是的属主信息,第4列是属主所在用户组,第5列是所占空间大小,接下去是日期、时间,最后一列是文件/目录名。以下是一些 常用文件操作命令:rm:删除文件 more:浏览文件 cp:拷贝文件
关于这块更加详细的介绍,请参考书籍《linux就该这么学》
‘伍’ linux文件操作命令有哪些
新建文件:
1.新建文件夹命令:mkdir 文件夹名称
2.创建文档就用:vi 文件名,然后就可以编辑文档了,退出的时候依次按ESC -> : ->x 就退出并保存了,:wq 保存后退出。:x 同“ wq”。:q! – 不保存内容, 强制退出。
删除文件:
1.删除文件夹:rm [选项] 文件夹名称。如rm -r test
2.删除文件:rm 文件名 。如:rm test.txt
修改文件:
1.vi命令。vi 文件名这样就可以打开一个文件,再点击i就可以进入编辑了。其实编辑命令还有:o,a。我这里比较熟悉i的使用:退出点击esc键,就进入命令模式。
我这里找了一些常见的命令,如下:
x:删除当前字符。
dd:删除当前行。
2dd:删除文件的当前行和后一行。
u:恢复前一步操作。
p:复制之前删除的行。
yy:复制光标所在的整行。
2yy:复制2行,举一反三 3yy。
p:粘贴到光标的后面。
查看文件:
1.查看目录下的所有文件又2种命令:ll 和ls 。 ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls 只列出显式文件名。
2.查看某个文件内容也有2种:cat 和 vi 。cat主要有三大功能:一次显示整个文件:$ cat filenam 、从键盘创建一个文件:$ cat > filename 只能创建新文件,不能编辑已有文件、将几个文件合并为一个文件: $cat file1 file2 > file .
vi实际上是文件编辑命令,但是也可以查看文件。
‘陆’ linux下文件历史操作记录如何查询
last查看最近可以的登录。由此判断那些人操作过。查找该文件去向。如果是仍然保存在本地的话你可以用命令:
find
/
-name
压缩包文件名
进行查找。如果是被删除那就不好找啦。
‘柒’ Linux 文件操作问题
既然是2个不同的文件, 当然没有问题了。
‘捌’ Linux文件操作!
ln -s ~/temp/d1/smallFile ~/temp/d2/smallFile.soft
ls -l ~/temp/d2/smallFile.soft
ls -l ~/temp/d1/smallFile
这2个是同一个文件,因为后者只是一个连接,不是文件
‘玖’ linux怎么看一个文件的操作历史
1、使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:
用户名称
用户的机器名称或tty号
远程主机地址
用户登录系统的时间
空闲时间(作用不大)
附加到tty(终端)的进程所用的时间(JCPU时间)
当前进程所用时间(PCPU时间)
用户当前正在使用的命令
$ w
23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 10.1.80.56 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 10.20.48 23:01 2:53 0.01s 0.01s -bash
john pts/2 10.1.80.7 23:04 0.00s 0.00s 0.00s w
此外,可以使用who am i查看使用该命令的用户及进程,使用who查看所有登录用户进程信息,这些查看命令大同小异;
2. 在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录, 可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。
通过在/etc/profile里面加入以下代码就可以实现:
PS1="`whoami`@`hostname`:"'[$PWD]'
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
source /etc/profile 使用脚本生效
退出用户,重新登录
上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。
root@zsc6:[/tmp/dbasky/root]ls
10.1.80.47 dbasky.2013-10-24_12:53:08
root@zsc6:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08
查看在12:53:08从10.1.80.47登录的root用户操作命令历史
‘拾’ linux如何读写文件
我不太懂你的意思~
如果你要写文件的话,可以输入:
#vi 文件名.文件后缀
接着输入数据保存就可以了~
要打开文件可以这样:
#vi 文件名.文件后缀
读取文件内容
#cat 文件名.文件后缀
不知道你要问的是不是这些问题~