linux文件操作的|在Linux如何对文件进行操作

linux文件操作的|在Linux如何对文件进行操作的第1张示图

『壹』 linux怎么看一个文件的操作历史

1、使用w命令查看登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括:用户名称用户的机器名称或tty号远程主机地址用户登录系统的时间空闲时间(作用不大)附加到tty(终端)的进程所用的时间(JCPU时间)当前进程所用时间(PCPU时间)用户当前正在使用的命令$ w23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02USER TTY FROM [email protected] IDLE JCPU PCPU WHATramesh 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 -bashjohn 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]'historyUSER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/dbasky ]thenmkdir /tmp/dbaskychmod 777 /tmp/dbaskyfiif [ ! -d /tmp/dbasky/${LOGNAME} ]thenmkdir /tmp/dbasky/${LOGNAME}chmod 300 /tmp/dbasky/${LOGNAME}fiexport HISTSIZE=4096DT=`date "+%Y-%m-%d_%H:%M:%S"`export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/nullsource /etc/profile 使用脚本生效退出用户,重新登录上面脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。[email protected]:[/tmp/dbasky/root]ls 10.1.80.47 dbasky.2013-10-24_12:53:08 [email protected]:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08查看在12:53:08从10.1.80.47登录的root用户操作命令历史

『贰』 linux 常用目录文件操作命令有哪些

1. 最常用的命令列表下面列出十个在使用linux过程中使用频率最高的命令。这里只作简单介绍,具体用法请参考后面内容。cat,显示文件内容。cd,改变目录路径。cp,复制文件。find,查找文件。grep,搜索、过滤信息。ls,列出目录信息。more,分页显示。rm,删除文件或目录。vi,调用vi文本编辑器。who,显示登录用户信息。2. chmod—-改变一个或多个文件的存取模式(mode)chmod [options] mode files只能文件属主或特权用户才能使用该功能来改变文件存取模式。mode可以是数字形式或以who opcode permission形式表示。who是可选的,默认是a(所有用户)。只能选择一个opcode(操作码)。可指定多个mode,以逗号分开。options:-c,–changes只输出被改变文件的信息-f,–silent,–quiet当chmod不能改变文件模式时,不通知文件的用户–help输出帮助信息。-R,–recursive可递归遍历子目录,把修改应到目录下所有文件和子目录–reference=filename参照filename的权限来设置权限-v,–verbose无论修改是否成功,输出每个文件的信息–version输出版本信息。whou用户g组o其它a所有用户(默认)opcode+增加权限-删除权限=重新分配权限permissionr读w写x执行s设置用户(或组)的ID号t设置粘着位(sticky bit),防止文件或目录被非属主删除u用户的当前权限g组的当前权限o其他用户的当前权限作为选择,我们多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。还可设置第四位,它位于三位权限序列的前面,第四位数字取值是4,2,1,代表意思如下:4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。1,设置粘着位。实例:$ chmod u+x file 给file的属主增加执行权限$ chmod 751 file 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限$ chmod u=rwx,g=rx,o=x file 上例的另一种形式$ chmod =r file 为所有用户分配读权限$ chmod 444 file 同上例$ chmod a-wx,a+r 同上例$ chmod -R u+r directory 递归地给directory目录下所有文件和子目录的属主分配读的权限$ chmod 4755 设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。3. chgrp—-修改文件或目录的所属组chgrp [options] newgroup files/directorys组名可以用组的ID号,也可用/etc/group中的组名。只有文件的属主或特权用户(root)才可改变它的组。options:-c,–changes只输出被改变文件的信息-f,–silent,–quiet当不能改变文件组属性时,不通知文件的用户–help输出帮助信息。-R,–recursive可递归遍历子目录,把修改应到目录下所有文件和子目录–reference=filename参照filename的组信息来设置当前文件的组-v,–verbose输出详细信息–version输出版本信息。实例:$ chgrp root test 把test的所属组更改root组$ chgrp -R mysql test 递归地把test目录及该目录下所有文件和子目录的组属性设置成mysql$ chgrp root * 把当前目录中所有文件的组属性设置成root4. chown—-设置一个或多个文件或目录的属主身份chown [options] newowner files/directorys新的属主可以是用户的ID号,也可以是/etc/passwd里的登录名。chown也可接受这样的形式:newowner:newgroup或newowner.newgroup。同时改变所属组的属性。如果句点和冒号后没有组名,则组改变为新属主的组。只有文件或目录的当前属主才有权改变它的属性。options:-c,–changes只输出被改变文件的信息–dereference跟踪符号链接-h,–no-dereference改变每一个符号链的属主身份,而不是被引用文件的属主身份-f,–silent,–quiet当不能改变文件属主属性时,不通知文件的用户–help输出帮助信息。-R,–recursive可递归遍历子目录,把修改应到目录下所有文件和子目录–reference=filename把属主改变成filename文件的属主-v,–verbose输出详细信息–version输出版本信息。实例:$ chown root test 把test文件的属主改进root$ chown -R root test_directory 递归地把test_directory目录下的所有文件属主改成root$ chown –dereference root test_link 把test_link链接的原文件属主改成root,链接文件属主不变$ chown –no-dereference root test_link 把test_link的链接文件属主改成root,原文件属主不变5. date—-显示、修改系统时间date [options][+format][date]$ date -s 06/09/2004 修改日期(按月日年格式)$ date -s 13:56:00 修改时间(按时分秒格式)$ date -r test 显示test文件最后一次的修改时间$ date +'%Y-%m-%d' 以yyyy-mm-dd格式显示日期,其它格式请参考帮助$ clock -r 查询BIOS时间$ clock -w 把修改后的时间写回BIOS6. df—–显示已安装文件系统的磁盘容量状态df [options][name]$ df -h 以友好的格式输出所有已安装文件系统的磁盘容量状态$ df -m /home 以M为单位输出home目录的磁盘容量状态$ df -k 以K为单位输出所有已安装文件系统的磁盘容量状态$ df -i 报告空闲的、用过的或部份用过的(百份比)索引节点$ df -t ext3 仅显示文件类型为ext3的文件系统的磁盘状态$ df -x ext3 仅显示文件类型不为ext3的文件系统的磁盘状态$ df -T 除显示文件系统磁盘容量大小外还显示文件系统类型$ df -l 仅显示本地文件系统。7. fdisk—-分区表查询工具fdisk [options][driver]$ fdisk -l 列出所有分区信息8. hdparm—-硬盘管理hdparm [options][driver]$ hdparm -d /dev/hda 显示硬盘的DMA模式是不打开,1代表on$ hdparm -tT /dev/hda 测试硬盘的写性能$ hdparm -d1 /dev/hda 开启dma功能$ hdparm -d1 -X68 -c3 -m16 /dev/hda 选项说明:-c3:把硬盘的IO模式从16位转成32位。-m16:改变硬盘的多路扇区的读功能,-m16使硬盘在一次I/O中断中读入16个扇区的数据。-d1:打开DMA模式。-X68:支持ATA66的数据传输模式。下面是其它模式的设置对照ATA33…….参数是-X66 ATA66…….参数是-X68 ATA100……参数是-X69$ hdparm -k1 /dev/hda 保存设置9. ln—–为文件建立别名ln [options] sourcename [destname]ln [options] sourcenames destdirectory$ ln -s file1 file2 建立一个到file1的符号链接file2,删除file2不会影响file1$ ln -s -f file1 file2 建立一个到file1的符号链接file2,并不提示是否重写10. shutdown—–终止所有进程序,关闭计算机。shutdown [options] when [message]用when可以是指定的关机时间(以hh:mm格式)、关机前要等待的时间(以+m格式)、或者now。message指定一条广播消息通知所有用户退出系统。showdown给所有进程发送SIGTERM信号,并调用init 1执行实际的关机动作。$ shutdown -c 取消正在进行的关闭操作$ shutdown -f 快速重新启动,在重新启动时禁止对fsck的常规调用$ shutdown -h 当关闭完成时停止系统$ shutdown -k 输出警告信息,但禁止实际的关闭$ shutdown -n 不调用init就执行关闭$ shutdown -r 当关闭完成时重新启动系统$ shutdown -t 5 在杀死进程和改变运行级别之间确保延时5秒11. sleep—–执行另一个命令之前等待的时间sleep amount [units]units默认为秒(s),m表示分钟,h表示小时,d表示天。12. swapon/swapoff—–启动和关闭交换分区swapon/swapoff [options] device$ swapon -s 显示交换分区信息$ swapon -a 激活所有在/etc/fstab中有sw标记的分区$ swapon -p 1 设置交换分区优先级为113. tune2fs—–调整Linux第二扩展文件系统的参数tune2fs [options] device$ tune2fs -l /dev/hda1 显示hda1分区的超级块内容$ tune2fs -c 100 /dev/hda1 设置hda1分区每mount100次就进行磁盘检查14. uniq—-过滤、统计、删除重复行uniq [options][file1 [files]]$ uniq -c file file中的重复行输出一次,并在每行前显示重复次数$ uniq -d file file中的重复行输出一次,但不输出唯一的行$ uniq -u file 只输出file中的唯一行$ uniq file1 file2 把file1中的重复的相邻行删除,并把每行的一个拷贝送到file215. wc—–输出每个文件中的字符数、单词数及行数。wc [options][files]$ wc -l file 输出file中的行数$ wc -w file 输出file中的单词数$ wc -c file 输出file中的字符数

『叁』 Linux 文件操作!

进入自己的主目录find -name *.htmlfind -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文件操作!

ln -s ~/temp/d1/smallFile ~/temp/d2/smallFile.softls -l ~/temp/d2/smallFile.softls -l ~/temp/d1/smallFile这2个是同一个文件,因为后者只是一个连接,不是文件

『伍』 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中文件操作的问题

因为他这个函数就是这么定的 没有为什么对实时性要求高的数据就要用 直接写入文件系统的函数

『柒』 LINUX文件夹操作

限定用户只能访问特定的文件夹,如果使用文件权限设定或者acl的方法似乎工作量过于庞大而无法达到理想效果,应该是在用户目录的.profile文件中对shell进行限制。具体方法我掌握得很模糊,不是很清楚,所以无法给你很明确的回答。关于限定指定文件夹的大小,个人觉得有两种方法可以达到目的。1.新建分区,并挂载到该目录下。则改用户文件夹的最大容量即为该分区的大小:创建硬盘分区在分区上创建文件系统挂载到目录2.使用磁盘配额,限定指定用户在制定目录下能创建的文件大小:在/etc/fstab文件中启用配额功能mount -o remount / 重新挂载根目录quotaon -a启用磁盘配额功能使用edquota user_name 配置用户的磁盘配额大小

『捌』 Linux文件操作

struct student { char sno[6]; char sname[10]; short int age ; // 最大年龄的学生应该不会超过127岁 char addr[15];};定义学生这个结构后,采用二进制读写文件openlseekwritereadclose相应的函数调用方式网上一查就知道了,很多,就不罗列了。

『玖』 在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 文件操作问题

既然是2个不同的文件, 当然没有问题了。

未经允许不得转载:山九号 » linux文件操作的|在Linux如何对文件进行操作

赞 (0)