linux命令

一个linux 命令查询网址,可以通过这个网址来查询linux命令

1、ls

ls  显示当前目录下的文件及文件夹
ls -a 显示当前目录下所有的文件及文件夹,包括隐藏文件
ls -l 显示文件的详细信息

ls -l 显示出的文件信息的含义

-rw-r--r--
drwxr-xr-x
r代表可读
w代表可写
x代表可执行

r    可读    4
w    可写    2
x    可执行    1
-无权限    0
一共10个字符,第一个字符表示文件类型,后面9个字符表示文件权限。
文件类型:
- 表示普通文件。普通文件指文本文件和二进制
文件,如a.c  1.txt a.out都是普通文件
d 表示文件夹,d是directory的缩写
l 表示符号连接文件,后面会用->打印出它指向的文件
s 表示socket文件
p 表示管道文件 pipe

2、cd

cd 命令用于切换文件夹,如cd / 切换到根目录
cd /mnt/hgfs/切换到共享文件夹目录
cd .. 移动到上一个文件夹

3、pwd

pwd命令用于打印当前目录

4、mkdir

用于创建空文件夹
mkdir -p 级联创建文件夹
如:mkdir abc 创建空文件夹abc

5、mv

在目录间移动文件,重命名文件
mv 源文件pathname 目的文件pathname
如:mv  /mnt/hgfs/share/uboot  ./    就是把/mnt/hgfs/share/uboot移动到当前目录下

6、touch

创建空文件
touch pathname
如:touch abc 创建空文件,文件名是abc

如果文件已经存在,那么touch这个文件的作用就是更新这个文件的最新修改时间为现在。

7、cp

复制文件或文件夹
cp 源文件pathname 目标文件pathname
cp -r 用来复制文件夹
cp -f 强制复制
实际操作时,一般都是cp -f复制文件,
cp -rf复制文件夹

8、rm

用来删除文件,文件夹
rm 文件pathname
rm -r 文件夹pathname
rm –rf 非空目录名   删除 非空文件夹

9、cat

直接在命令行下显示文件内容
也可以用来向文件输入,暂时不管

10、rmdir

删除空文件夹
rmdir和rm -r的区别:rmdir只能删除空文件夹,而rm -r可以删除空文件夹和非空文件夹

11、ln

windows中快捷方式,实际上快捷方式和它指向的文件是独立的两个文件,两个都占硬盘空间,
只不过用户访问快捷方式时,其效果等同于访问指向的文件。
linux中有两种连接文件:
一种叫软连接(符号连接),等同于windows中快捷方式
一种叫硬连接
创建软连接文件: ln -s 源文件名 符号连接文件名
举例:ln -s src.c,linker.c,    linker.c就是
src.c的一个符号连接文件
硬连接:ln 源文件名 连接文件名
硬连接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的硬连接存在,这个文件就不会被真正删除。只有等所有的连接文件都删除掉了,这个文件才会被真正从硬盘上删除。

12、man

查询man手册,获得帮助信息
man 1 ls    1表示查询的是linux命令
man 2 xxx    2表示查询的是linux api
man 3 xxx    3表示查询的是C库函数
注意:在man手册中查询时,退出按Q键(Q就是quit的缩写)

13、apt-get

在ubuntu中用来在线安装、卸载软件的程序
apt-get install vim
apt-get remove vim
注意,安装和卸载都是在线的,也就是说ubuntu必须能上网才能使用apt-get

说明:rpm包和deb包是两种Linux系统下最常见的安装包格式:

rpm包:rpm包主要应用在RedHat系列包括Fedora等发行版的Linux系统上。

              yum可以用于运作rpm包,例如在Fedora系统上对某个软件的管理:
              安装:yum install <package_name>
              卸载:yum remove <package_name>
              更新:yum update <package_name>

deb包:主要应用于Debian系列包括现在比较流行的Ubuntu等发行版上。

              apt-get可以用于运作deb包,例如在Ubuntu系统上对某个软件的管理:
              安装:apt-get install<package_name>
               卸载:apt-get remove<package_name>
               更新:apt-get update <package_name>

14、find

find命令是一个无处不在命令,是linux中最有用的命令之一。find命令用于:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件。下面就通过实例来体验下find命令的强大。

find命令的常用选项及实例
-name 
按照文件名查找文件。 
find /dir -name filename  在/dir目录及其子目录下面查找名字为filename的文件 
find . -name "*.c" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“c”的文件
-user 
按照文件属主来查找文件。 
find ~ -user sam –print 在$HOME目录中查找文件属主为sam的文件
-group 

按照文件所属的组来查找文件。 
find /apps -group gem –print 在/apps目录下查找属于gem用户组的文件
-type 
find /etc -type d –print 在/etc目录下查找所有的目录 
find . ! -type d –print 在当前目录下查找除目录以外的所有类型的文件 
find /etc -type l –print 在/etc目录下查找所有的符号链接文件

15、grep

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

grep[-acinv] [--color=auto]'搜寻字符串' filename
选项与参数:
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到'搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有'搜寻字符串' 内容的那一行!
-d <动作>     --directories=<动作>   #当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-r   --recursive   #此参数的效果和指定“-d recurse”参数相同。 
--color=auto :可以将找到的关键词部分加上颜色的显示喔!

一般使用grep -nr "字符串"

16、which和whereis

PATH变量是存放命令的,而which是按PATH变量规定的路径来找,所以which主要是用来查找命令的,并且查找到后将命令的绝对路径给显示出来。

例如,现在想知道which命令本身的绝对路径,命令:

which  which

这样查询到的结果为:
/usr/bin/which
Which命令一般只查询到第一个匹配的结果,如果想将所有匹配的结果全部显示出来可以加上-a参数。
按资料库查找的命令:whereis

whereis命令能够将不但能查询出命令,还能查询出Ubuntu资料库里记载的文件。
whereis命令的下达方式为:
whereis [选项]文件名

与which不同的是,whereis不但能够找到可执行的命令,而且将所有包含文件名字符串的文件全部查找出来,而且速度非常快,远远快于我们将要介绍的虽然强大但速度却有些慢的find命令。这是因为Ubuntu会将它里面所有的资料都记录在一个资料库里,而whereis命令查找时并不会在整个磁盘上进行查找,而只在此资料库里进行查找。

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

17、uname

查看系统信息
举例:uname -a

18、开关机

shutdown -h now    立即关机
init 0    关机
shutdown -r now    立即重启
reboot    重启

19、tree/lstree

功能:显示文件和目录由根目录开始的树形结构

20、mount/umount

用来挂载磁盘到文件系统中
举例:mount -t nfs -o nolock 192.168.1.141:/root/rootfs /mnt    挂载
  umount /mnt 卸载

21、df du

df -h    显示已挂载的分区列表
du -h    列出文件或文件夹的大小
du -h 文件名,可以列出这个文件有多大,列出方式是以人比较好看懂的方式。不像 ls -l列出的都是以字节为单位

22、用户管理


用户管理
useradd user1    添加一个名为user1的用户
userdel    user1    删除一个名为user1的用户
passwd user1    为名为user的用户设置密码
adduser user1    添加一个名为user1的用户,同时创建宿主目录,用户shell等。
adduser和useradd的区别:
adduser是一个脚本,而useradd是一个二进制应用程序。adduser创建用户时比较麻烦,但是一次设定完所有的信息;而useradd设置时简单,但是需要额外的设置宿主目录,密码那些信息。

23、clear

清屏

24、权限管理

用来管理系统中文件的权限。

chmod (change mode)修改文件权限,比较常用,要记得
chown (change owner,修改属主)
chgrp (change group,修改文件的组)
要把权限改成    rwxr--r--    则对应的编码值为744
修改命令为:chmod 744 文件名
第二种修改权限的方法:
在原来的权限基础上进行修改,即增加或减少某权限。
三个组用户的编码依次为: 属主u    属主所在的组g    其他用户o

譬如
要属主增加可执行权限    chmod u+x 文件名
其他用户增加可写权限    chmod o+w 文件名
属主所在组用户去掉可执行权限    chmod g-x 文件名

25、tar

tar -czvf dir.tar.gz dir/    将dir目录打包成dir.tar.gz
tar -cjvf dir.tar.bz2 dir/    将dir目录打包成dir.tar.bz2
tar -zxvf dir.tar.gz 解压缩dir.tar.gz
tar -jxvf dir.tar.bz2    解压缩dir.tar.bz2

解压

tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip

26、sed和awk

正则表达式。匹配加替换。

27、格式化文件系统

mkfs    /dev/hd1mkfs -t vfat 32 -F /dev/hd1    创建一个FAT32文件系统

28、网络配置命令

ifconfig eth0 192.168.1.13    设置IP地址
ifconfig eth0 up    启动网卡
ifconfig eth0 down    禁用网卡
ifup eth0    启动网卡
ifdown eth0    禁用网卡
ifconfig eth0 192.168.1.13    设置IP地址
ifconfig eth0 192.168.1.1 netmask 255.255.255.0    同时设置IP和子网掩码

29、dd命令

由于 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 

if=为输入文件,of=为输出文件,bs=bytes同时设置读写块的大小为 bytes ,可代替 ibs 和 obs ,count为读写的次数。

30、ps命令

用来查看当前的进程,常用选项为ps -elf.
UID是用户ID,PID是进程ID,PPID是父进程ID

31、top命令

实时查看当前进程,动态的,可以看到CPU最近的负载等信息。

32、kill命令

杀死进程。只能用进程号来实现,先用ps命令,然后在kill 进程号即可。
killall命令可以用对应的进程名即可杀死。
有的进程并不会乖乖的听话,可能并不被杀死,加上对应的信号即可,比如kill -9 1234
将进程号为1234的进程,无条件杀死。

33、后台运行模式

在命令行输入命令之后,在最后面加一个&符号,即可实现命令后台运行。如果想要显示信息也不打印在屏幕上,可以按照如下方式进行。

xxx >/dev/null 2>&1 &                          # 屏蔽一切log   
xxx >/tmp/xxx.log 2>&1 &                   #  可以在xxx.log中看日志  

后台运行时,都会有作业号,可以用jobs命令查看,带【】的就是作业号,后面有+号的就是正在执行的,有-号的就是下一个要执行的。

我们还可以用Ctrl + z来暂停进程,然后也可以重启进程,用bg命令,只需要bg加上作业号,就可以了

34、jobs

显示出后台可以运行的进程

35、操作文件系统

linux中SATA磁盘接口的设备文件名都是sd*。第一块就是sda,读取到的第二块就是sdb.

①创建分区: fdisk -l 可以打印出所有分区列表,我们可以用fdisk /dev/sdb进行分区

然后输入p可以将分区表打印出来,下一步,可以使用n命令在该存储设备上创建新的分区。 再根据提示输入相应数字。
②格式化文件系统

需要用文件系统工具。并不一定默认安装。可以用这个命令检查一下type mkfs.ext4 ,就是检查有没有装这个ext4这个文件系统工具。装了的话就这样执行就行mkfs.ext4 /dev/sdb1 。就可以实现了格式化文件系统。
③逻辑卷管理 :平时的磁盘分区,一个分区就对应着一个物理卷。所有的物理卷合在一起叫一个卷组,一个卷组又可以像操作磁盘分区一样,分成多块,分成的多个块就叫逻辑卷。可以增加磁盘容量。

创建过程的第一步就是将硬盘上的物理分区转换成Linux LVM使用的物理卷区段。我们的朋友fdisk命令可以帮忙。在创建了基本的Linux分区之后,你需要通过t命令改变分区类型。 分区类型选择8e表示这个分区将会被用作Linux LVM系统的一部分,而不是一个直接的文件系统 。

下一步是用分区来创建实际的物理卷。 pvcreate /dev/sdb1
创建卷组 :vgcreate Vol1 /dev/sdb1 (Vol1是卷组名)
创建逻辑卷 lvcreate -l 100%FREE -n lvtest Vol1
-l选项定义了要为逻辑卷指定多少可用的卷组空间。注意,你可以按照卷组空闲空间的百分比来指定这个值。本例中为新逻辑卷使用了所有的空闲空间。
-n选项允许你为逻辑卷指定一个名称(在本例中称作lvtest)。
创建文件系统 mkfs.ext4 /dev/Vol1/lvtest (应该需要和之前的部分文件系统一样)

36.重定向

date > test6
比如这个命令,就会将之前的打印到屏幕上的东西打印到这个文件里,如果没有这个文件,则会创建这个 文件,如果有这个文件,则会清除之前文件里边的所有东西。

date >> test6
这个命令会将打印出来的信息追加到这个文件末尾,原来的内容还存在。

37.管道

将一个命令的输出作为另一个命令的输入。

ls -l | less
我可以将ls命令输出的东西,都传给less这个命令,以方便观察。输出的太多,就会发现这个好处了

Last modification:November 1st, 2019 at 02:56 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment