导航:首页 > 源码编译 > linuxmv命令源码分析

linuxmv命令源码分析

发布时间:2022-09-08 02:04:51

linux mv 移动文件夹命令

一、文件复制命令cp

命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory

参数说明:

-a:是指archive的意思,也说是指复制所有的目录

-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身

-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制

-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作

-l:建立硬连接(hard link)的连接文件,而非复制文件本身

-p:与文件的属性一起复制,而非使用默认属性

-r:递归复制,用于目录的复制操作

-s:复制成符号连接文件(symbolic link),即“快捷方式”文件

-u:若目标文件比源文件旧,更新目标文件

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

二、文件移动命令mv

命令格式:mv [-fiv] source destination

参数说明:

-f:force,强制直接移动而不询问

-i:若目标文件(destination)已经存在,就会询问是否覆盖

-u:若目标文件已经存在,且源文件比较新,才会更新

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

mv /test1/file1 /test3/file2

拓展资料:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

㈡ Linux基础命令和原理总结

作为一个程序员或者测试开发人员,我们在进行项目部署和运维时,经常会用到一些linux命令,可是这些命令老是忘记,每次用到的时候都要去谷歌网络,很是麻烦!这不,为了自己使用方便,对常见的linux命令, SHELL, VIM, Linux性能调优和linux kernel的总结,以便在用到时能够快速地找到相关命令,同时有需要的朋友也可以参考搜藏该篇文章!文章对讲到的每个命令都有详细的参数解释,并且给出一些常用例子,因此也非常适合用来学习!

shell(命令解释器)自带的命令称为内部命令,其它的是外部命令
内部命令使用help帮助:help cd
外部命令使用help帮助:ls --help
type命令:用于区分是内部命令还是外部命令:

ls is aliased to `ls --color=auto' #外部命令

cd is a shell builtin #内部命令
pwd命令:显示当前目录
ls命令:查看目录和文件名称
ls -l 查看目录各个字段含义

第一字段:首字母代表的是文件类型 ,其中"-"为普通文件、"d"为目录文件、"c"为字符设备文件、"b"为块设备文件、"p"为管道文件、"l"为链接文件、"s"为socket文件。“rwx”分别代表拥有读、写和执行权限,"-代表无对应权限。三个"rwx"依次代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。
第二字段:文件硬连接数量
第三字段:文件拥有者
第四字段:文件拥有者所在组
第五字段:文件大小(以字节为单位)
第六字段:文件最后更改时间
第七字段:文件名(若为链接文件则追加显示其链接的原文件的路径)

ls命令其它参数含义:
-a显示隐藏文件(.开头的文件)
-r逆序排序
-t按照时间顺序显示
-R递归显示
ls -lartR : 按照时间顺序倒序显示所有文件及其文件夹的文件

cd命令:更改当前的工作目录
cd /path/... 绝对路径
cd ./path/... 相对路径(./可以省略)
cd ../path/... 相对路径

mkdir -p 递归目录:递归创建目录

rmdir命令:删除目录
rmdir a/b/c/d/e/ #删除空目录
rm -r a/b/c/d/ #递归删除目录,但是系统会做多次询问
rm -rf a/b/c/d/ #删除目录,不做任何询问

cp命令:复制文件和目录
-r 复制目录
-p 保留用户、权限、时间等文件属性

mv命令:移动文件和重命名
mv *.log 目标目录

通配符:
*匹配任何字符串
?匹配一个字符串
[xyz]任何一个字符串
[a-z]匹配一个范围

cat命令:文本内容显示到终端

head命令:查看文件开头
head -3 文件名称 #显示文件开头3行

tail命令:查看文件末尾
tail -3 文件名称 #显示文件末尾3行
tail常用参数-f,文件内容更新后,同步显示更新的文件信息
tail -f 文件名称

wc命令:统计文件内容信息
wc 文件名称

useradd命令:新建用户
useradd 用户名

userdel命令:删除用户
userdel 用户名 用户所在的家目录不会被删除
userdel -r 用户名 用户相关的所有配置都会被删除

passwd命令:修改用户密码
passwd 用户名

usermod命令:修改用户属性

/etc/passwd文件:查看用户文件
tail /etc/passwd

/etc/shadow文件:查看用户密码
tail /etc/shadow

groupadd命令:添加用户组
groupadd 用户组

groupdel命令:删除用户组
groupdel 用户组

用户切换
su 用户名 切换用户,但是用户所在环境不变,即pwd路径不会变化
su - 用户名 切换用户,同时会切换到用户家目录,即/home/用户名

sudo命令:普通用户需要执行root用户权限的解决方案。

以下是一些常用命令汇总;The following table provides a reminder of most of the commands that we have covered so far. If you include the three, as-yet-unmentioned, commands in the last column, then you will probably be able to achieve >95% of everything that you will ever want to do in Unix (remember, you can use the man command to find out more about top , ps , and kill ). The power comes from how you can use combinations of these commands.

-c 'cc-address' -b 'bcc-address'
'to-address' | Command to send email | | mail -s "Subject"
to-address < Filename` | Command to send email with attachment |

File Permission commands

Hope this Linux reference guide helps you!

希望这些常用的命令和系统原理,以及linux操作可以帮助大家提升linux命令和操作!!!

㈢ 如何查看各种Linux命令的源码

用linux一段时间了,有时候想看看ls、cat、more等命令的源代码,在下载的内核源码中用cscope没能找到,在网上搜索了一下,将方 法总结如下:以搜索ls命令源码为例,先搜索命令所在包,命令如下:
lpj@lpj-linux:~$ which ls /bin/ls用命令搜索该软件所在包,代码如下:
lpj@lpj-linux:~$ dpkg -S /bin/ls coreutils: /bin/ls从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:
sudo apt-get source coreutils cd /usr/src/coreutils-XXX #XXX表示版本号 sudo tar zxvf coreutils-XXX.tar.gz 或者只下载源码,然后手动打补丁再解压,代码如下:
sudo apt-get -d source coreutils cd /usr/src tar zxvf coreutils-XXX.tar.gz gzip -d coreutils-XXX.diff.gz #这一步会生成coreutils-XXX.diff文件 patch -p0 < coreutils-XXX.diff cd coreutils-XXX tar zxvf coreutils-XXX.tar.gzOK,这几步执行完后,就可以进入/usr/src/coreutils-XXX/coreutils-XXX/src中查看各命令对应的源代码了。关于更多Linux的学习,请查阅书籍《linux就该这么学》。

㈣ linux中的一些常用命令,比如ls、mv、cp等的源代码在linux 内核源码树的什么目录什么文件中啊

linux的这些常用命令的源代码是不会在内核中的。这些是应用程序而已,所以你还是不要在内核中去找了。网上有这些应用程序的源代码。

㈤ linux常用命令mv

- 移动文件和目录是您在 Linux 系统上经常需要执行的最基本的任务之一.mv 命令(简称 move)用于将文件和目录从一个位置重命名并移动到另一个位置.命令的语法如下

㈥ linux mv命令帮解析

mv /eda/tools/dfII/local/cdsinit /eda/tools/dfII/local/.cdsinit
把/eda/tools/dfll/local/目录下的cdsinit文件移动到/eda/tools/dfII/local/目录下,不过这两个目录好像是相同的,只是把文件名前面加了个. 变成了隐藏文件
你说的当前目录是cd /eda,这个是进入/eda的命令,cd是进入这个文件夹。
mv是英语move的缩写,是linux里移动文件或者文件夹的命令。

㈦ linux中/bin/mv命令是甚么意思

mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。

1.命令格式:

mv [选项] 源文件或目录 目标文件或目录

2.命令功能:

视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

3.命令参数:

-b :若需覆盖文件,则覆盖前先行备份。

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会更新(update)

-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

㈧ mv命令 linux

你自己试下就知道了,mv /usr/lib/* /001是把/usr/lib/目录中的全部文件包括目录移动到/001,如果是mv /usr/lib/ /001就会把整个/usr/lib目录移到/001下,就是说这时的/usr/lib目录是/001目录的子目录了。

㈨ 如何使用linuxc语言编程实现mv命令

第一步:在red hat系列的fedoral 中可以通过如下命令安装gcc 或者g++
yum install gcc
yum install gcc-c++
会自动安装的!!
debian下直接apt-get install gcc
apt-get install g++第二步:学会使用该系列软件的编译运行命令。
比如gcc:编译1.c这个文档 命令是(必须是在相应文件目录下): gcc 1.c
运行命令是: ./a.out
g++编译命令是: g++ 1.c 或者 把.c格式改为.cpp 运行g++ 1.cpp
运行命令是相同的: ./a.out
注意; 要想通过gcc编译,文档内部必须是c语言,格式是.c 格式。而对于g++编译器,语言和格式可以不对应, .cpp内部可以使用c语言,.c格式内部可以使用c++,这就是g++功能强大之处!////////关于gcc 和g++,有以下误区:
gcc和g++都是GNU(组织)的一个编译器。
误区一:gcc只能编译c代码,g++只能编译c++代码
两者都可以,但是请注意:
1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。
误区二:gcc不会定义__cplusplus宏,而g++会
实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。
误区三:编译只能用gcc,链接只能用g++
严格来说,这句话不算错误,但是它混淆了概念,应该这样说:编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。因为gcc命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用gcc,二者等价。
个人看法:两个都下下来,然后可以只使用g++.实惠,方便!
最后补充一下:以上成功后,就可以实现编译,运行了。但是还不能实现调试,linux 下的调试必须有专门的调试软件,大多使用gdb版本的,自己下载使用。千古一雄(开源世界)

㈩ linux中/bin/mv命令是什么意思

linux下在命令行下执行命令,需要掌握俩个基本技能:tab键值补全;man获得欲执行命令的帮助文档;
tab键:摁一下补全,摁俩下显示所有以某些字母打头的命令;
man使用方法:man
your_command(man
mv)即可;
祝你linux玩的愉快

阅读全文

与linuxmv命令源码分析相关的资料

热点内容
卡尔曼滤波算法书籍 浏览:768
安卓手机怎么用爱思助手传文件进苹果手机上 浏览:843
安卓怎么下载60秒生存 浏览:802
外向式文件夹 浏览:235
dospdf 浏览:430
怎么修改腾讯云服务器ip 浏览:387
pdftoeps 浏览:493
为什么鸿蒙那么像安卓 浏览:735
安卓手机怎么拍自媒体视频 浏览:185
单片机各个中断的初始化 浏览:723
python怎么集合元素 浏览:480
python逐条解读 浏览:832
基于单片机的湿度控制 浏览:498
ios如何使用安卓的帐号 浏览:882
程序员公园采访 浏览:811
程序员实战教程要多长时间 浏览:974
企业数据加密技巧 浏览:134
租云服务器开发 浏览:813
程序员告白妈妈不同意 浏览:335
攻城掠地怎么查看服务器 浏览:600