linux mk(linux 创建文件)
各位老铁们,大家好,今天由我来为大家分享linux mk,以及linux 创建文件的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
linux 下制作可启动 img/iso 文件的方法
制作镜像文件有三种方法,cp, cat, dd和其它专用工具。cp,cat和 dd都可以从设备复制文件来创建镜像。而 dd命令更为强大,可以通过指定块大小,块多少来直接创建镜像。
IMG文件:
因为cp, cat只能从设备来制作镜像,但又没有专用工具来做 IMG文件,故这里用 dd命令来制作 IMG文件。
1,制作
dd if=/dev/zero of=fdimage.img count=2880
or
dd if=/dev/zero of=fdimage.img bs=1024 count=1440
2,格式化
mkfs.msdos fdimage.img
3,修改
可以用下面的命令 mount后,可直接修改
mount-o loop*.img/mnt
4,可启动
因为制作可启动镜像一定会用到虚拟机,推荐用 Virtualbox,先到网上下个 DOS启动盘来引导。用 DOS的 sys命令传递系统。推荐使用 FreeDOS,属自由软件。也可用 dd命令来传递引导引导信息,并复制启动启动时所需文件来做启动盘。以 FreeDOS为例,传递启动信息用以下命令,其中下载的启动盘为 balder10.img文件
dd if=balder10.img of=fdimage.img bs=512 count=1 conv=notrunc
多系统用 grub4dos,
1),用 grub.exe引导多系统
2),安装 grub到MBR,用 grldr来引导多系统。当然也可用同上面一样的办法用 dd直接写入引导信息。
bootlace.com--floppy--chs 0x00
注:才发现用 dd命令只能从逻辑扇区开始 copy,先前我想可否用 dd来将 grldr.mbr写入 u盘,我用自己的 U盘试了,结果不能打开了。因为我的 U盘为 fat16格式,逻辑扇区开始是OBR,接着是FAT表,结果把 FAT1表给盖了,那时还没有想到还有 FAT2呢,就格了,现在想起来郁闷啊,好多东西都没有了。
为什么软盘可以呢,因为它就没有前面的63个扇区,直接从逻辑0扇区开始的。
ISO文件:
因为文件系统的关系,就不能用 dd来直接做 ISO镜像了(当然,它还是可以从设备制作 ISO镜像)。 ISO文件的制作有专用工具,
1,制作
mkisofs-r-o cdimage.iso/home/XXX/cddir
2,格式化
用mkiso制作的 iso已有文件系统 iso9660
3,可启动
无论是引导单系统还是引导多系统都还是用 mkisofs这个工具,只是加载到光盘的 boot loader不一样而已。当然也可以将 DOS的引导器(也就是它的引导扇区)或 windows的引导器( XP系统的是 ntldr)放入让光盘引导。下面只讨论 grub4dos的使用
1),用 grub.exe引导多系统
用 DOS加载 grub.exe引导多系统
2),将 grub安装到光盘 MBR
在制作时可用下面的命令直接生成可启动镜像,其中 grldr, menu.lst要放在 cddir目录下,也就是在 cd根目录。
mkisofs-R-b grldr-no-emul-boot-boot-load-seg 0x1000-o cdimage.iso cddir
mkisofs-R-b grldr-no-emul-boot-boot-load-size 4-o cdimage.iso cddir
PS,下面给出 dd命令和 mkisofs参数说明
dd(convert and copy files)
dd是 Linux/UNIX下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
dd的主要选项:
指定数字的地方若以下列字符结尾乘以相应的数字:
b=512, c=1, k=1024, w=2, xm=number m
if=file
输入文件名,缺省为标准输入。
of=file
输出文件名,缺省为标准输出。
ibs=bytes
一次读入 bytes个字节(即一个块大小为 bytes个字节)。
obs=bytes
一次写 bytes个字节(即一个块大小为 bytes个字节)。
bs=bytes
同时设置读写块的大小为 bytes,可代替 ibs和 obs。
cbs=bytes
一次转换 bytes个字节,即转换缓冲区大小。
skip=blocks
从输入文件开头跳过 blocks个块后再开始复制。
seek=blocks
从输出文件开头跳过 blocks个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)
count=blocks
仅拷贝 blocks个块,块大小等于 ibs指定的字节数。
conv=conversion[,conversion...]
用指定的参数转换文件。
转换参数:
ascii转换 EBCDIC为 ASCII。
ebcdic转换 ASCII为 EBCDIC。
ibm转换 ASCII为 alternate EBCDIC.
block把每一行转换为长度为 cbs的记录,不足部分用空格填充。
unblock
使每一行的长度都为 cbs,不足部分用空格填充。
lcase把大写字符转换为小写字符。
ucase把小写字符转换为大写字符。
swab交换输入的每对字节。 Unlike the
Unix dd, this works when an odd number of
bytes are read. If the input file contains
an odd number of bytes, the last byte is
simply copied(since there is nothing to
swap it with).
noerror
出错时不停止。
notrunc
不截短输出文件。
sync把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
由于 dd命令允许二进制方式读写,所以特别适合在原始物理设备上进行输入/输出。例如可以用下面的命令为软盘建立镜像文件:
dd if=/dev/fd0 of=disk.img bs=1440k
有趣的是,这个镜像文件能被 HD-Copy,Winimage等工具软件读出。再如把第一个硬盘的前 512个字节存为一个文件:
dd if=/dev/hda of=disk.mbr bs=512 count=1
mkisofs(make iso file system)
功能说明:建立ISO 9660映像文件。
语法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A应用程序ID][-abstract摘要文件][-b开机映像文件][-biblio ][-c开机文件名称][-C盘区编号,磁区编号][-copyright版权信息文件][-hide目录或文件名][-hide-joliet文件或目录名][-log-file记录文件][-m目录或文件名][-M开机映像文件][-o映像文件][-p数据处理人][-P光盘发行人][-sysid系统ID ][-V光盘ID][-volset卷册集ID][-volset-size光盘总数][-volset-seqno卷册序号][-x目录][目录或文件]
补充说明:mkisofs可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。
参数:
-a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
-A应用程序ID或-appid应用程序ID指定光盘的应用程序ID。
-abstract摘要文件指定摘要文件的文件名。
-b开机映像文件或-eltorito-boot开机映像文件指定在制作可开机光盘时所需的开机映像文件。
-biblio指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN。
-c开机文件名称制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog开机文件名称全部内容作成一个文件。
-C盘区编号,盘区编号将许多节区合成一个映像文件时,必须使用此参数。
-copyright版权信息文件指定版权信息文件的文件名。
-d或-omit-period省略文件后的句号。
-D或-disable-deep-relocation ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能。
-f或-follow-links忽略符号连接。
-h显示帮助。
-hide目录或文件名使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏。
-hide-joliet目录或文件名使指定的目录或文件在Joliet系统中隐藏。
-J或-joliet使用Joliet格式的目录与文件名称。
-l或-full-iso9660-filenames使用ISO 9660 32字符长度的文件名。
-L或-allow-leading-dots允许文件名的第一个字符为句号。
-log-file记录文件在执行过程中若有错误信息,预设会显示在屏幕上。
-m目录或文件名或-exclude目录或文件名指定的目录或文件名将不会房入映像文件中。
-M映像文件或-prev-session映像文件与指定的映像文件合并。
-N或-omit-version-number省略ISO 9660文件中的版本信息。
-o映像文件或-output映像文件指定映像文件的名称。
-p数据处理人或-preparer数据处理人记录光盘的数据处理人。
-print-size显示预估的文件系统大小。
-quiet执行时不显示任何信息。
-r或-rational-rock使用Rock Ridge Extensions,并开放全部文件的读取权限。
-R或-rock使用Rock Ridge Extensions。
-sysid系统ID指定光盘的系统ID。
-T或-translation-table建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。
-v或-verbose执行时显示详细的信息。
-V光盘ID
mkfslinux
linux格式化整个磁盘的命令?
linux格式化磁盘命令:mkfs。
案例:格式化sda1分区
#mkfs-text2/dev/sda1#将sda1磁盘分区格式化为ext2格式使用方式:mkfs
说明:建立linux档案系统在特定的partition上
参数:
device:预备检查的硬盘partition,例如:/dev/sda1;
-V:详细显示模式;
-t:给定档案系统的型式,Linux的预设值为ext2;
-c:在制做档案系统前,检查该partition是否有坏轨;
-lbad_blocks_file:将有坏轨的block资料加到bad_blocks_file里面;
block:给定block的大小;
-L:建立lable。
linux常用命令有哪些?
Linux是我们开发人员必不可少的系统,也是经常接触到的。然而,Linux命令比较多,有些不常用也难记住。那么,我们如何更高效的使用Linux命令,而又不必全面地学习呢?今天就给大家分享一下我在开发过程中,比较常用、也比较实用的Linux命令。
01查看文件或日志
查看文件内容或日志文件,相信几乎所有人都会接触到。其中,用得最多的就是head、tail和cat命令。
1、head
表示头部,查看最前面几行数据。
headtest.log:test.log文件前几行日志内容
head-n20test.log:查看test.log文件前20行日志内容
head-n-20test.log:查看test.log除了最后20行日志内容
2、tail
表示尾部,查看最后几行或实时日志。
tail-ftest.log:实时查看test.log文件最后几行日志内容
tail-f-n20test.log:实时查看test.log文件最后20行日志内容
tail-n20test.log:查看test.log文件最后20行日志内容
tail-n+20test.log:查看test.log文件20行后的所有日志内容
3、cat
用于查看文件内容。
cattest.log:查看test.log文件所有内容
02本地复制
同一台服务器不同目录之间复制文件或目录也是经常用到的。
1、复制文件
cptest.log/home/geshan/logs:复制test.log文件到/home/geshan/logs/目录下
cptest.log/home/geshan/logs/cptest.log:复制test.log文件到/home/geshan/logs/目录下并重新命名为cptest.log
2、复制文件夹
cp-rlogs//home/geshan/:复制logs目录及目录下所有文件到/home/geshan/目录下,此时该目录会有logs目录
cp-rlogs//home/geshan/testlogs/:复制logs目录及目录下所有文件到/home/geshan/testlogs/目录下,并把logs目录重新命名为testlogs,前提是/home/geshan/目录没有testlogs目录
注:-r或-R表示循环,循环目录下所有文件和目录。下面所有命令也是如此。
03远程复制
当我们需要从远程服务器复制某个文件或目录到本地登录的服务器时,大部分人想到先登录远程服务器下载该文件,然后再登录本地服务器再上传文件。这样是比较麻烦,效率也不高。
1、本地服务器复制到远程服务器
(1)复制文件
命令1:
scplocal_fileremote_username@remote_ip:remote_folder
命令2:
scplocal_fileremote_username@remote_ip:remote_file
命令3:
scplocal_fileremote_ip:remote_folder
命令4:
scplocal_fileremote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变;第2个指定了文件名;第3,4个没有指定用户名,命令执行后默认与当前服务器用户名并需要输入用户密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名。
实例1:从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录,并重新命名为
20190125.log
命令:
实例2:从本地服务器复制test.log至192.168.130.130服务器的/home/geshan/目录
命令:
(2)复制目录
命令1:
scp-rlocal_folderremote_username@remote_ip:remote_folder
命令2:
scp-rlocal_folderremote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码;第2个没有指定用户名,命令执行后需要输入用户名和密码。
实例:从本地服务器/home/appuser/目录下的tomcat目录复制到192.168.130.130服务器的/home/geshan/目录命令:
2、从远程服务器复制到本地服务器
从远程复制到本地的scp命令与上面的命令雷同,只要将从本地复制到远程的命令后面2个参数互换顺序就行了。
(1)复制文件
实例:
从192.168.130.130远程服务器的/home/geshan/路径下test.log文件复制到本地服务器/home/appuser/路径
命令:
scproot@192.168.130.130:/home/geshan/test.log/home/appuser/
(2)复制目录
实例:从192.168.130.130远程服务器的/home/geshan/路径下tomcat文件夹复制到本地服务器/home/appuser/路径
命令:
注:ip地址和路径之间(即冒号之间)没有任何空格,否则会报错。当第一次和另外一台服务通信(如复制文件),会提示是否信任,输入yes即可。
04压缩和解压
压缩和解压文件也是经常遇到的。如果下载一个目录下的所有文件,可以直接下载这个目录,但是直接下载目录的话,文件一旦很多,下载过程中很容易丢失文件,下载速度也比较慢。一般情况下是先压缩文件夹再下载。下面给大家介绍四种压缩和解压命令。
1、tar命令
解压:
压缩:
实例:解压一个log.tar文件:
压缩log目录并命名为log.tar:
2、gz命令
压缩:
注:压缩为.gz文件源文件会消失如果想保留源文件,使用下面命令
解压:
.tar.gz和.tgz解压:
压缩:
压缩多个文件:
实例:解压tomcat.tar.gz文件
压缩tomcat目录,并命名为tomcat.tar.gz文件
3、zip命令
解压:unzipfileName.zip压缩:
注:压缩目录时,需加-r,表示循环该目录下所有文件和目录。压缩多个文件或目录时,文件或目录之间需要空格。
实例:解压一个log.zip文件:
压缩log文件目录并命名为log.zip:
压缩log1和log2目录并命名为log.zip:
压缩test1.log和test2.log文件并命名为log.zip:
4、rar命令
同理,和zip命令类似,只需把zip改为rar即可。
05修改权限
Linux系统中文件和目录访问权限是不同的,通过些方式可以确定谁可以对该文件和目录进行相应的操作。
其中,文件或目录的访问权限分为只读,只写和可执行三种,分别代表可读、可写和可执行。
1、chgrp命令
改变文件或目录所属的组。命令:
实例:把test.log文件所属的组修改为geshan组
把logs目录及该目录下所有文件所属的组修改为geshan组
2、chown命令
更改某个文件或目录所属的用户。命令:
实例:把test.log文件所属用户修改为geshan用户
把logs目录及该目录下所有文件所属用户修改为geshan用户
3、chmod命令
用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。命令:
其中,mode有很多种表示含义,下面只对数字说明。大部分人看到mode有777或776等权限,这些表示什么呢?
为了方便,把mode改为abc,其中a,b,c各为一个数字,分别表示user、group及other的权限。r=4,w=2,x=1,r表示Read读,w表示Write写,x表示eXecute。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
实例:把test.log文件修改可读写执行(即777)操作。
把logs目录及目录下所有文件修改为读写(666)操作。
在Linux系统中输入ll(两个小写LL),如果文件或目录为777(读写执行)权限,可看到最前面为-rwxrwxrwx。如果为666(读写)权限,可看到最前面为-rw-rw-rw。
注:一般修改文件或目录权限需要超级用户(root)进行修改,否则可能会报权限不足。
这些Linux命令是比较常用实用的命令,肯定会有用得到的时候,如果对你有所帮助,记得点赞收藏转发哦!
linux在新分区建立文件系统的命令?
mkfs
创建文件系统:磁盘分区之后要创建文件系统,即格式化。在LINUX下可以用命令mkfs来完成文件系统的创建工作。实际上,不同种类的文件系统,都有特定的程序格式化,mkfs只是一个为了建立不同文件系统类型,确定运行不同程序的一个前端,比如用mkfs建立ext2文件系统,mkfs将调用mkefs命令来完成。
ubuntu改为win10系统怎么把硬盘改为ntfs?
如何在Linux系统中把硬盘格式化成NTFS分区呢?有下面的方法,不过使用前请先想好,本人不对所造成的后果负责。
以Ubuntu为例,先安装好ntfsprogs,没有的话在终端中执行:sudoapt-getinstallntfsprogs安装。
请根据硬盘情况参考。
执行:
sudomkfs-tntfs/dev/sdb1
或
sudomkfs.ntfs/dev/sdb1
或者
sudomkntfs/dev/sdb1
格式化。如果你觉得速度上要更快的,可以加-f参数,即:
sudomkntfs-f/dev/sdb1
linux系统的分区不能用ntfs,但linux可以识别出ntfs的分区格式,
系统分区不支持ntfs的,
linux mkkickstart命令详解
linux系统下mkkickstart命令是什么呢?是mkkickstart命令的具体介绍:
1、mkkickstart命令简介:
Linux系统下mkkickstart命令可根据目前系统的设置来建立组态文件,供其他电脑在安装时使用,组态文件的内容包括使用语言,网络环境,系统磁盘状态,以及X Windows的设置等信息。mkkickstart命令功能就是用于建立安装的组态文件。
2、语法:
mkkickstart [--bootp][--dhcp][--nonet][--nox][--version][--nfs ]
3、参数:
–bootp:安装与开机时,使用BOOTP。
–dhcp:安装与开机时,使用DHCP。
–nfs:使用指定的网络路径安装。
–nonet:不要进行网络设置,即假设在没有网络环。