linux常用命令菜鸟 linux50个常用命令

怎么学习linux学习Linux步骤:
1、先了解了解基础吧 , 找一本薄一点的,浅一点的书,了解一下什么是linux 。有个基本了解即可 。不建议马上看《鸟哥的Linux私房菜》,这本书很不错,如果你了解linux基础之后再看 , 对你可以说是不受益匪浅都不行 。没基础看《鸟哥的Linux私房菜》比较痛苦 , 内容很多 。
2、了解之后,在自己电脑上弄个虚拟机,装上linux系统(redhat或ubuntu都行) 。专攻《鸟哥的Linux私房菜》 。当你把这本书攻下来时,才知道原来命令行并不可怕,自己打着打着就很长啦 。
学linux最主要靠实践 , 不实践 , 只看书对你没好处的哦 。自己在虚拟机上慢慢玩吧,玩多了就知道咋回事啦 。不懂的多找资料弄懂,弄懂之后再实践 , 这才会有收获 。
Linux磁盘管理是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表 。
语法
fdisk [必要参数][选择参数]
必要参数:
-l 列出素所有分区表
-u 与"-l"搭配使用,显示分区数目
选择参数:
-s分区编号 指定分区
-v 版本信息
菜单操作说明
m :显示菜单和帮助信息
a :活动分区标记/引导分区
d :删除分区
l :显示分区类型
n :新建分区
p :显示分区信息
q :退出不保存
t :设置分区号
v :进行分区检查
w :保存修改
x :扩展应用,高级功能
(英文全拼:make file system)命令用于在特定的分区上建立 linux 文件系统 。
使用方式:
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
参数:
device : 预备检查的硬盘分区,例如:/dev/sda1
-V : 详细显示模式
-t : 给定档案系统的型式,Linux 的预设值为 ext2
-c : 在制做档案系统前,检查该partition 是否有坏轨
-l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
block : 给定 block 的大小
命令是经常会使用到的命令,它用于挂载Linux系统外的文件 。
语法
mount [-hV]mount -a [-fFnrsvw] [-t vfstype]mount [-fnrsvw] [-o options [,...]] device | dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
参数说明:
-V:显示程序版本
-h:显示辅助讯息
-v:显示较讯息,通常和 -f 用来除错 。
-a:将 /etc/fstab 中定义的所有档案系统挂上 。
-F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行 。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作 。
-f:通常用在除错的用途 。它会使 mount 并不执行实际挂上的动作 , 而是模拟整个挂上的过程 。通常会和 -v 一起使用 。
-n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料 。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作 。
-s-r:等于 -o ro
-w:等于 -o rw
-L:将含有特定标签的硬盘分割挂上 。
-U:将档案分割序号为 的档案系统挂下 。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义 。
-t:指定档案系统的型态 , 通常不必指定 。mount 会自动选择正确的型态 。
-o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行 。
-o sync:在同步模式下执行 。
-o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』 。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数 。
-o auto、-o noauto:打开/关闭自动挂上模式 。
-o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
-o dev、-o nodev-o exec、-o noexec允许执行档被执行 。
-o suid、-o nosuid:
允许执行档在 root 权限下执行 。
-o user、-o nouser:使用者可以执行 mount/umount 的动作 。
-o remount:将一个已经挂下的档案系统重新用不同的方式挂上 。例如原先是唯读的系统,现在用可读写的模式重新挂上 。
-o ro:用唯读模式挂上 。
-o rw:用可读写模式挂上 。
-o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统 。
(base) zfy@zfy-PC:~$ sudo fdisk -l
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
#块设备名称为/dev/sda , 此设备的大小为80 GB,85899345920 bytes是转换成字节后的大小,共167772160 个扇区
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3b1ffeba
DeviceBootStartEndSectorsSize Id Type
#分区序列 | 引导 | 开始 | 终止 | Sectors | 容量 | 分区类型ID | 分区类型
/dev/sda1*2048314777531457281.5G 83 Linux
/dev/sda23147776 138412031 135264256 64.5G5 Extended
/dev/sda3138412032 1614807032306867211G 83 Linux
/dev/sda4161480704 16777011162894083G 82 Linux swap / Solaris
/dev/sda53149824346050553145523215G 83 Linux
/dev/sda634607104660623353145523215G 83 Linux
/dev/sda766064384 13841203172347648 34.5G 83 Linux
Partition table entries are not in disk order.
a. 在虚拟机中添加硬盘,添加后使用fdisk -l命令查看,磁盘变成两个 , 在sda中还没有分区
root@zfy-PC:/home/zfy# fdisk -l
Disk /dev/sda: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3b1ffeba
DeviceBootStartEndSectorsSize Id Type
/dev/sdb1*2048314777531457281.5G 83 Linux
/dev/sdb23147776 138412031 135264256 64.5G5 Extended
/dev/sdb3138412032 1614807032306867211G 83 Linux
/dev/sdb4161480704 16777011162894083G 82 Linux swap / Solaris
/dev/sdb53149824346050553145523215G 83 Linux
/dev/sdb634607104660623353145523215G 83 Linux
/dev/sdb766064384 13841203172347648 34.5G 83 Linux
Partition table entries are not in disk order.
b.下面对sda进行分区
root@zfy-PC:/home/zfy# fdisk /dev/sda
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xb985e226.
Command (m for help): m
#输入m查看帮助
Help:
DOS (MBR)
atoggle a bootable flag
bedit nested BSD disklabel
ctoggle the dos compatibility flag
Generic
ddelete a partition
Flist free unpartitioned space
llist known partition types
nadd a new partition
pprint the partition table
tchange a partition type
vverify the partition table
iprint information about a partition
Misc
mprint this menu
uchange display/entry units
xextra functionality (experts only)
Script
Iload disk layout from sfdisk script file
Odump disk layout to sfdisk script file
SaveExit
wwrite table to disk and exit
qquit without saving changes
Create a new label
gcreate a new empty GPT partition table
Gcreate a new empty SGI (IRIX) partition table
ocreate a new empty DOS partition table
screate a new empty Sun partition table
Command (m for help): n
#输入n创建一个分区
Partition type
pprimary (0 primary, 0 extended, 4 free)
eextended (container for logical partitions)
Select (default p): p
#选择主分区
Partition number (1-4, default 1): 1
#选择编号为1
First sector (2048-4194303, default 2048): 2500000
#起始sector 设为2500000
Last sector,/-sectors or/-size{K,M,G,T,P} (2500000-4194303, default 4194303): 4194303
#终止sector 设为4194303
Created a new partition 1 of type 'Linux' and of size 827.3 MiB.
#分区完成,分区大小为827.3 MiB
Command (m for help): n
#继续创建一个分区
Partition type
pprimary (1 primary, 0 extended, 3 free)
eextended (container for logical partitions)
Select (default p): e
#新增扩展分区
Partition number (2-4, default 2): 2
#选择编号为2
First sector (2048-4194303, default 2048): 2048
#起始sector为2048
Last sector,/-sectors or/-size{K,M,G,T,P} (2048-2499999, default 2499999):
#终止sector为2499999
Created a new partition 2 of type 'Extended' and of size 1.2 GiB.
#新增完成,大小为1.2GiB
Command (m for help): w
#保存
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
c.查看分区后磁盘信息,此时sda磁盘已经有两个分区
Disk /dev/sda: 2 GiB, 2147483648 bytes, 4194304 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb985e226
DeviceBootStartEnd SectorsSize Id Type
/dev/sda12500000 4194303 1694304 827.3M 83 Linux
/dev/sda22048 2499999 24979521.2G5 Extended
Partition table entries are not in disk order.
Disk /dev/sdb: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3b1ffeba
DeviceBootStartEndSectorsSize Id Type
/dev/sdb1*2048314777531457281.5G 83 Linux
/dev/sdb23147776 138412031 135264256 64.5G5 Extended
/dev/sdb3138412032 1614807032306867211G 83 Linux
/dev/sdb4161480704 16777011162894083G 82 Linux swap / Solaris
/dev/sdb53149824346050553145523215G 83 Linux
/dev/sdb634607104660623353145523215G 83 Linux
/dev/sdb766064384 13841203172347648 34.5G 83 Linux
Partition table entries are not in disk order.
d.用ext3的文件系统对分区进行格式化
root@zfy-PC:/home/zfy# mkfs -t ext3 /dev/sda1
mke2fs 1.44.5 (15-Dec-2018)
Creating filesystem with 211788 4k blocks and 52976 inodes
Filesystem UUID: db384338-4af1-4eec-a62d-f2b2f8e0ec96
Superblock backups stored on blocks:
32768, 98304, 163840
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
e.新建一个分区目录 /data,并挂载
root@zfy-PC:/home/zfy# mkdir data
root@zfy-PC:/home/zfy# mount /dev/sda1 /data
root@zfy-PC:/home/zfy# df -TH /data/#查看是否挂载成功
文件系统类型容量已用可用 已用% 挂载点
/dev/sda1ext3838M881k793M1% /data
f. 用vim打开 etc/fstab并假如 /dev/sda1/data ext3 defaults 0 0,这样重启后便不需要再挂载
参考文献:
【1】 Linux mount命令 | 菜鸟教程 (runoob.com)
【2】 linux添加新磁盘和创建分区 - IT(小菜鸡) - 博客园 (cnblogs.com)
Linux 高级命令echo "HelloWorld"
向控制台输出HelloWorld信息
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中 。
lstest.txt
test.txt 如果不存在 , 则创建 , 存在则覆盖其内容
注意:输出重定向会覆盖原来的内容 , 输出重定向则会追加到文件的尾部
cat xxx.py可以用来快速查看某个文件内容,输出到控制台
cat test.txthaha.txt将test.txt的内容追加到haha.txt中
cat 1.txt 2.txt1_2.txt 将1.txt 2.txt内容合并到1_2.txt中
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏 , 使得用户无法看清文件的内容,此时可以使用more命令,从头开始,每次只显示一页,空格键显示下一页,b键上一页 , 按下q键退出显示,按下h键可以获取帮助 。
more xxx.py
管道:一个命令的输出可以通过管道做为另一个命令的输入 。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读) 。即管道左边的输出结果作为管道右侧的参数
cat info.txt | more
tree | more
::: warning
more管道符读到的内容只能前进,不能后退;只能使用空格或回车向下看,不能使用b回看
:::
Linux链接文件类似于Windows下的快捷方式 。
链接文件分为软链接和硬链接 。
ln -s 源文件 链接文件
ln 源文件 链接文件
没有-s 选项代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,一般用于保护系统重要的文件 。所以-s选项是更常见的形式 。
::: warning 注意
如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径 , 不能使用相对路径 。
:::
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件 。
常用用法:
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找 。如果找到匹配模式 , grep打印包含模式的所有行 。
grep一般格式为:
在grep命令中输入字符串参数时,最好用引号或双引号括起来 。
例如:
从某个文件搜索
搜索当前目录所有文件
常用选项说明:**
grep搜索内容串可以是正则表达式 。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串” , 这个“规则字符串”用来表达对字符串的一种过滤逻辑 。
grep常用正则表达式:
计算机中的数据经常需要备份 , tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据 。
tar使用格式:
tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-” , 也可以不使用 。
常用参数:
注意:除了f需要放在参数的最后,其它参数的顺序任意 。
常用命令:
tar与gzip命令结合使用实现文件打包、压缩 。tar只负责打包文件 , 但不压缩,用gzip压缩tar打包后的文件 , 其扩展名一般用xxxx.tar.gz 。也会见到缩写的.tgz这种扩展名 。
gzip使用格式如下:
常用选项:
tar这个命令并没有压缩的功能,它只是一个打包的命令 , 但是在tar命令中增加一个选项 -z 可以调用gzip实现压缩的功能,最终实行一个先打包后压缩的过程 。
-z :指定压缩包的格式为 xxx.tar.gz
tar压缩:tar zcvf xxx.tar.gz 文件1 文件2 ...
tar解压:tar zxvf xxx.tar.gz
解压到指定目录:tar zxvf xxx.tar.gz -C target_dir/(大写字母“C”)
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样) 。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.bz2 。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能 , 实行一个先打包后压缩的过程 。
压缩用法 : tar -jcvf 压缩包包名 文件1 文件2... (例: tar jcvf bak.tar.bz2 *.c )
解压用法 : tar -jxvf 压缩包包名(例: tar jxvf bak.tar.bz2 )
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip 。
压缩文件 :zip [-r] 目标文件(没有扩展名) 源文件
解压文件 :unzip -d 解压后目录文件 压缩文件
使用tree命令可以查看指定目录的树状结构
有时我们想知道被执行的命令在哪个目录,以方便切换或更新不同版本,如Python 。可以使用 which 命令
文件内容为:123 aaa bbb哈
执行 echo "123 aaa bbb哈"xxx.txt
wc -l xxx.txt文件内容的行数1
wc -w xxx.txt文件内容的单词数3
wc -c xxx.txt文件内容的字节数15
wc xxx.txt文件内容的行数,单词数,字节数1 3 15
wc -m xxx.txt文件的字符数13
sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用 。一般用于自动编辑转换程序 , 动态调整文件内容 。
sed 's/good/GOODS/' file 替换每行第一个指定字符串(输出所有行)
sed -n 's/good/GOODS/p' file 替换每行第一个指定字符串(只输出替换的行)
sed -i 's/good/GOODS/g' file 替换所有指定字符串,并应用到文件
sed '2d' file 删除第二行
sed '/^test/d' 删除good开头的行
sed -n '3p' file 打印第3行
显示当前时间 # Tue May 7 14:35:31 DST 2019
当前日期和时间 # 20190507-14:34:25
使用history命令可以查看之前输过的命令及其id,
使用 !id 的形式,可以快速执行指定历史命令
Linux命令大全:
菜鸟Linux命令:
【linux常用命令菜鸟 linux50个常用命令】linux常用命令菜鸟的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于linux50个常用命令、linux常用命令菜鸟的信息别忘了在本站进行查找喔 。

    推荐阅读