linux的一些基本操作和命令

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:同名,备份原来的文件。

例子1:将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下2的命令:

powershell 复制代码
cp/test1/file1/test3/file2

例子2:

powershell 复制代码
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,可输入以下命令。

powershell 复制代码
mv/test1/file1/test3/file2

例子2:

powershell 复制代码
mv/data/new  /data/old/

移动/data/new 到/data/old/文件夹下

注意:移动文件夹不要加/,若要移动文件夹下的东西加/

三.文件删除命令

命令格式:rm[fir]文件或目录

参数说明

-f:强制删除

-i:交互模式,在删除前询问用户是否操作。

-r:递归删除,常用在目录的删除。

例子:删除/test目录下的file1文件,可以输入以下命令:

powershell 复制代码
rm -i/test/file1

3.通过文件名查找文件

powershell 复制代码
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<unistd.h>

int link(const charoldpath,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:显示版本。

相关推荐
周末不下雨2 分钟前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
软件技术员31 分钟前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
哎呦喂-ll43 分钟前
Linux进阶:环境变量
linux
Rverdoser44 分钟前
Linux环境开启MongoDB的安全认证
linux·安全·mongodb
PigeonGuan1 小时前
【jupyter】linux服务器怎么使用jupyter
linux·ide·jupyter
一条晒干的咸魚1 小时前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
东华果汁哥1 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
咖喱鱼蛋2 小时前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char2 小时前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm