1.如何创建文件和文件夹(1)创建文件,touch加文件名。
(2)用ls命令可查看我们创建出的文件。
(3)创建文件夹,mkdir加文件夹名。
(4)用ls -l命令可以查看文件夹的属性。
(5)命令与文件名之间一定要有空格。
2.如何复制,移动,删除文件和文件夹
linux下文件的复制,移动与删除命令为:cp,mv,rm.
一.文件复制命令cp命令格式:cp[-adfilprsu]源文件(source)目标文件(destination)
cp[option] source1 source2 source3 ... directory
格式:cp 【选项】 源文件或目录 目的文件或目录
参数说明-a:是指archive的意思,也说是指复制所有的目录。
-d:若源文件为连接文件(link file),则复制连接文件的属性而不是文件本身。
-f:强制(force),若有重复或其他疑问时,不会询问用户,而强制复制。强制覆盖同名文件。
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作。
-l:建立硬连接(hard link)的连接文件,而非复制文件本身。
-p:与文件的属性一起复制,而非使用默认属性。
-r:递归复制,用于目录的复制操作。按递归方式保留原目录结构复制文件。
-s:复制成符号连接文件(symbolic link),即”快捷方式“文件。
-u:若目标文件比源文件旧,更新目标文件。
-b:同名,备份原来的文件。
例子:将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下2的命令:
cp/test1/file1/test3/file2
例子2:
cp -Rf /home/user1/* /root/temp/
将/home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。
即格式为: cp -Rf 原路径/目的路径/
二.文件移动命令mv命令格式:mv[-fiv] source destination
参数说明-f:force,强制直接移动而不询问。
-i:若目标文件(destination)已经存在,就会询问是否覆盖。
-u:若目标文件已经存在,且源文件比较新,才会更新。
例子:将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令。
mv/test1/file1/test3/file2
例子2:mv/data/new /data/old/
移动/data/new 到/data/old/文件夹下注意:移动文件夹不要加/*,若要移动文件夹下的东西加/*
三.文件删除命令命令格式:rm[fir]文件或目录
参数说明-f:强制删除
-i:交互模式,在删除前询问用户是否操作。
-r:递归删除,常用在目录的删除。
例子:删除/test目录下的file1文件,可以输入以下命令:
rm -i/test/file1
3.通过文件名查找文件find /etc -name "xxxx"
/etc 表示所要查询的目录,“xxxx”表示要查找的文件名。(1)“xxxx”中包含字符“elm”,则是'*elm*'或'*elm'或'elm*';
(2)如果直接查询则只要"elm.cc";
4.查看进程和删除进程
一.查看进程(ps)
(1)ps列出当前所有的后台进程。
grep是搜索
ps -ef|grep java 表示查看所有进程里CMD是java的进程信息。
ps -aux|grep java -aux显示所有状态。
二.删除进程(kill)
(1)kill [-s 信号| -p] 【-a】进程号...-s 指定需要送出的信号。既可以是信号也可以对应数字。
-p 指定kill命令只是显示进程的pid,并不真正送出结束信号。
(2)kill -l【信号】;-l显示信号名称列表,也可以在/usr/include/linux/signal.h文件中找到。
(3)kill -9[PID]-9表示强迫进程立即停止。
5.查看文件内容的命令cat:由第一行开始显示内容;并将所有内容输出;
tac :从最后一行倒序显示内容,并将所有内容输出。
more:根据窗口大小,一页一页的显示文件内容。
less:和more类似,但其优点可以往前翻页;而且进行可以搜索字符;
head:只显示头几行;
tail:只显示最后几行;
nl:类似于 cat -n, 显示时输出行号;
tailf: 类似于tail -f
1.cat与tac(两者并不常用)cat的语法是:cat[-n] 文件名(-n;显示时,连行号一起输出)
tac语法: tac 文件名。
2.more和less(常用)more的语法:more 文件名
Enter向下n行,需要定义,默认为1行;
Ctrl f:向下滚动一屏;
空格键:向下滚动一屏;
Ctrl b:返回上一屏;
=:输出当前行的行号;
:f :输出文件名和当前行的行号;
v:调用vi编辑器;
!:命令 调用Shell,并执行命令;
q:退出more;
区别:(a)more只能向后翻页,而无法向前翻页;
less可以使用【pageup】和【pagedown】前后翻页。
(b)more还可以配合管道符“|”(pipe)使用,例如:ls -al |more;
less可以搜索内容。想查找有没有weblogic字符串,可以这样做:
【root@redhat etc】#less passwd 然后输入:/weblogic 回车,如果有,则会高亮显示;
3.head和tail
head的语法:head [n number]文件名 (number显示行数);
tail的语法:tail [-n number]文件名
4.nl与cat -n的功能一样
5.tailf
tailf命令几乎等同于tail-f,严格来说应该与tail--follow=name更相似些。文件名改名之后也可以继续跟踪,适合日志文件的跟踪。与tail-f不同的是,如果文件不增长,它不会去访问磁盘文件。tailf特别适合便携机上跟踪日志文件,省电。原因是减少了磁盘访问。
tailf命令不是一个脚本,而是一个执行文件。
6.创建链接文件的两种方式
(1)链接的分类a.软链接:符号链接,这类文件包含了另外一个文件的路径。可以连接任意文件和目录,也可以连接不同的文件系统文件,也可以连接不存在的文件,还可以循环连接自己。
b.硬链接是一个已存在文件的另一个名字。注意:
1)只能在同一个文件系统中的文件才能创建硬链接;
2)不允许给目录创建硬链接;
(2)c程序中使用link函数创建;link函数申明如下:
#include
int link(const char*oldpath,const char* newpath);
函数说明:link()以参数newpath指定的名称来建立一个新的链接(硬链接)到参数oldpath所指定的已存在文件。如果参数newpath指定的名称为一已存在的文件则不会建立链接。
返回值:成功则返回0,失败返回-1,错误原因存于errno.
错误的代码原因1、EXDEV参数oldpath 与newpath 不是建立在同一文件系统.
2、EPERM 参数oldpath 与newpath 所指的文件系统不支持硬连接
3、EROFS文件存在于只读文件系统内
4、EFAULT 参数oldpath 或newpath 指针超出可存取内存空间.
5、ENAMETOLLONG参数oldpath 或newpath 太长
6、ENOMEM核心内存不足
7、EEXIST参数newpath 所指的文件名已存在.
8、EMLINK参数oldpath 所指的文件已达最大连接数目.
9、ELOOP 参数pathname 有过多符号连接问题
10、ENOSPC 文件系统的剩余空间不足.
11、EIO I/O 存取错误.
(3)在shell界面使用ln命令创建链接固定一个固定的文件,其他想要使用时链接即可。
例如:ln -s/bin/less/usr/local/bin/less,其中-s是代号(symbolic)的意思。
1)软链接:ln -s filename link_filename,意为创建一个名为"link_filename"指向"filename"的链接文件,它只会在你选定的位置上生成一个文件的镜像,类似windows下的快键方式。
2)硬链接:ln filename link_filename,没有参数-s,他会在选定的位置上生成一个和源文件大小相同的文件。
指令参数详细说明:-f:链接时先将与dist同档名的档案删除。
-d:允许系统管理者硬链接自己的目录。
-i:在删除与dist同档名的档案时先进行询问。
-n:在进行软链接时,将dist视为一般的档案
-s:进行软链接;
-v:在链接前显示其档名;
-b:将在链接时会被覆写或删除的档案进行备份。
-S SUFFIX:将备份的档案都加上SUFFIX的字尾
-V METHOD:指定备份的方式
--help:显示辅助说明;
--version:显示版本。