Linux常用命令总结

Linux常用命令总结:(Ubuntu)

1.shell

通过Ctrl+Alt+T进入shell页面。

1.shell提示符的格式:

用户名@主机名:目录名$

username@hostname:direction$

如果用户是root,则$变为#。

目录,根目录是/,用户主目录是~

2.命令格式:

command[option][arguments]

3.快捷方式:

上下方向键:调阅命令历史记录。

Tab键:补全:在输入命令的时刻可以按下Tab键,使系统补齐已经输入的命令。

查阅命令:在命令行下,输入命令开头的字母,连续按两次Tab键,就可以列出所有以该字母开头的命令。

2.帮助命令

man:查看man手册,如man ls

info:查看info手册,如info ls

--help:命令后加此参数,如ls --help

3.目录
1.Linux目录:

Linux中只有一个根目录,不像Windows有盘符的概念。

.代表该目录自己,..代表该目录的根目录。对于根目录,这两个都代表自己。

用户在刚登录到系统中时,工作目录就为该用户主目录,用户可以通过cd ~访问自己的主目录。

2.路径

文件的路径包括绝对路径和相对路径。绝对路径是从根开始的路径,也是完全路径。

相对路径随着用户工作目录的变化而不断变化。

4.ls显示目录内容

类似于DOS下的dir命令。

1.ls显示结果:

蓝色一般表示目录,绿色是可执行文件,褐色是压缩文件,浅蓝色是链接文件。

2.ls -l详解:
drwxr-xr-x 4 new new     4096 Aug 28 01:35 Desktop

1.第一个字母,-普通文件,d目录,l符号链接,b块设备硬件,c字符设备硬件。

2.后9个字符,表示文件的访问权限,分为3组,每组3位。

第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。

3.r读,w写,x执行。x对于目录表示进入权限。

4.数字表示引用计数,对于文件来说,表示硬链接数。

5.后面两个字符串表示所有者所属组,一般情况下相同。

6.接下来是大小,创建时间和文件名。

为简化权限的表达,对表示权限的字母进行赋值,r为4,w为2,x为1。如果是rwx,则可以将其权限写为7。

3.ls其它常用命令:

ls -a列出所有文件,包含隐含文件

ls -al在上述基础上,一个文件的信息占一行

ls -d显示本文件夹,即.

ls -dl显示本文件夹的属性

ls -R递归显示子目录的文件

ls /home/hxy查看hxy文件中的信息

5.cd 和 pwd 进入和查看目录

cd ..进入上一级目录

cd ~进入主目录

pwd显示当前目录

6.mv移动和修改文件名

mv a.c b.c重命名文件

重命名目录

mv b.c ../test2移动文件

移动目录

7.cp命令 拷贝文件

拷贝文件到另一个文件夹中:cp a.c ../test1

将指定文件拷贝到当前目录下:cp ../test1 .

只有加上cd -acd -R才可以用于拷贝目录。如果不加,则会报错。

两者的区别是,cd -R拷贝的是最新的目录,而cd -a拷贝出来的不一定是最新的。

8.mkdir创建目录

mkdir [选项] dirname

要求:创建目录的用户在当前目录中具有写权限,并且dirname不能是当前目录中已有的目录或文件名称

选项中-m对新建目录设置存取权限,也可以用chmod设置。如:mkdir -m777 abc

-p后加路径,即使路径中的某些目录尚不存在,加上此选项后,系统可以自动创建尚不存在的目录。相当于一次可以建立多个目录。如mkdir -p a/b/c

9.rm删除文件或目录

-r递归删除,通常和d结合,删除一个完整目录及子目录。

-i删除一个文件

-f不询问,直接删除

可以采用rm -rirm -rf等组合方式。

rmdir [选项] dirname删除空目录,只能删除空目录

10.file及文件操作相关指令

file 目标文件可以识别文件。最重要的是可以查可执行程序是哪一种CPU体系下编译,是静态编译还是动态编译。

1.显示文档内容

cat a.txt显示文档中内容

cat -n a.txt显示文档内容,且每行有标号

tac a.txt倒序显示文档中内容

cat a.txt b.txt > c.txt将a和b文档中的内容输出到c文档中,如果c文档不存在则创建,c文档中的原始内容会被覆盖

2.按屏显示文档内容

使用more a.txt,如果文档内容长度超过了终端的大小,不会一下子全部输出,而是输出一整屏,通过敲回车阅读下面的内容。

less a.txt显示文档时,可以通过鼠标上下键来阅读内容。

moreless都可以采用:cat a.txt | more这种方式使用。

3.以固定行数显示文档

head [-num] filename显示文档的前num行。

tail [-num] filename显示文档的尾num行。

如果不标注num的话,默认是10行。

4.创建新文件

touch a.txt 用于创建一个新文件。

如果文件已经存在,则改变文件的最后修改日期。

5.以输出行号的方式显示文件

nl filename

11.建立符号链接

ln某一个文件在另外一个位置建立一个符号链接,从而可以在不经过拷贝的情况下,在不同目录用到相同文件

链接分为软链接硬链接两种。

软链接带-s参数,只在用户选定的位置生成文件的镜像不会重复占用磁盘空间。常用。

硬链接不带参数,在用户选定的位置生成一个和源文件大小相同的文件,并增加链接数。rm会减少链接数,一个文件除非链接数为0,否则不会从文件系统中被物理地删除。不能对目录文件进行硬链接。

1.目录软链接:

ln -s /home/new/Desktop/test1 /home/new/Desktop/test2,在test2中有一个指向test1的软链接,名为test1,目录格式。

new@ubuntu:~/Desktop/test2$ ls -l
total 0
lrwxrwxrwx 1 new new 23 Aug 28 09:08 test1 -> /home/new/Desktop/test1

ln -s /home/new/Desktop/test1 test2/test3,在test2中有一个指向test1的软链接,名为test3,目录格式。

2.文件软链接:

ln -s /home/new/Desktop/test1/a.txt /home/new/Desktop/test2,在test2中有一个指向a.txt的软链接,名为a.txt。注意前面的必须写绝对路径,后面要么写绝对路径,要么写相对路径并注意自己目前所处的目录,否则容易出现错误

new@ubuntu:~/Desktop/test2$ ls -l
total 0
lrwxrwxrwx 1 new new 29 Aug 28 18:05 a.txt -> /home/new/Desktop/test1/a.txt

ln -s /home/new/Desktop/test1/a.txt test2/b.txt,在test2中有一个指向a.txt的软链接。名为b.txt。

3.文件硬链接:

ln test1/a.txt test2,在test2中出现了一个名为a.txt的文件,与原a.txt文件内容相同。

new@ubuntu:~/Desktop/test2$ ls -l
total 4
-rw-rw-r-- 3 new new 16 Aug 28 18:15 a.txt

ln test1/a.txt test2/b.txt,在test2中出现了一个名为b.txt的文件,与原a.txt文件内容相同。

建立硬链接后对比文件信息:

前:-rw-rw-r-- 5 new new 16 Aug 28 18:15 a.txt

后:-rw-rw-r-- 6 new new 16 Aug 28 18:15 a.txt

多了一个链接。

建立软链接后链接数不变。

练习题:

创建一个文件a.txt,写入hello。在当前目录下建立软链接r.txt,硬链接y.txt。

删除a.txt后,r.txt打开后,直接打开内容为空,查看信息时r.txt颜色变成红色,cat r.txt操作不成功y.txt打开后,内容仍为hello

新建一个a.txt,内容写入world,r.txt打开后,内容为worldy.txt打开后,内容仍为hello

12.其它文件目录命令
1.echo显示字符串

echo [选项] [字符串/变量]

参数-n表示输出字符串时不要换行

2.grep查找文件内容和命令

grep [关键字] [目录]查找某个目录下包含关键字的文件。

关键字-r不仅在当前目录查询,而且在子目录查询。

cat hello.c | grep "printf"类似例子,通过管道过滤命令输出的结果。

管道,是linux中信息通道的重要方式,它是把一个程序的输出直接连接到另一个程序的输入不经过任何中间文件管道线连接程序管道的通路

例子:cat a.txt | grep happy输出文件中的关键字所在行的内容

cat a.txt | wc -c统计字节数,空格和回车键包含在内

cat a.txt | wc -l统计行数

cat a.txt | wc -w统计字数,每个字通过空格和回车键分割,特殊符号不能分割

cat a.txt | sort排序字符信息

13.进程相关指令
1.ps显示进程列表

ps [选项] 显示当前系统中由该用户运行的进程列表

-a显示终端所有进程,包括其他用户的进程。

-u查看进程所有者及详细信息。

-x显示所有没有控制终端的进程。

-e显示所有进程。

对于经过ps -u之后的结果:

new@ubuntu:~$ ps -u
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
new       14142  0.0  0.2  24180  5028 pts/0    Ss   03:32   0:00 bash
new       14196  0.0  0.1  39104  3260 pts/0    R+   03:36   0:00 ps -u

%CPU指的是占用的CPU使用率。%MEM指的是占用的记忆体使用率。

VSZ占用的虚拟记忆体的大小。RSS占用的记忆体的大小。

STAT该进程的状态。START进程开始时间。TIME执行的时间。

pstree列出当前的进程及其树状结构。

2.kill终止进程

kill PID 进程号

kill PID终止进程

kill -9 PID强制终止进程

3.top动态显示进程列表

top [-d delay]参数表示屏幕信息刷新的时间间隔。

14.打包压缩
1.概念

Linux下打包是所有文件照原样合在一个tar文件里。

压缩需要另外的程序gzip, biz2,但是tar可以调用它们,一次性完成打包和压缩的功能。

.tar.gz 由tar程序打包,经过gzip程序压缩。

.tar.bz2由tar程序打包,经过bzip2程序压缩。

.bz2压缩率更高,.gz花费更少的时间。

2.打包和解包

-c创建tar文件,-f将文件打包生成到一个文件里,-x对tar进行解包。

tar -cf new.tar ./home/hxy

tar -x new.tar

3.打包压缩解压

对于zip格式:

tar cvzf soft.tar.gz /home/hxy

tar xvzf soft.tar.gz解压到当前目录

tar xvzf soft.tar.gz -C /home解压到指定目录

对于biz2格式:

tar cvjf soft.tar.bz2 /home/hxy

tar xvjf soft.tar.bz2解压到当前目录

tar xvjf soft.tar.bz2 -C/home解压到指定目录

15.磁盘相关操作命令
1.fdisk查看硬盘分区情况

fdisk -l查看硬盘分区。如果不是root账号,需要输入sudo fdisk -l查看。

查看结果:

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
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: 0xeb689ed0

Device     Boot    Start      End  Sectors Size Id Type
/dev/sda1  *        2048 37750783 37748736  18G 83 Linux
/dev/sda2       37752830 41940991  4188162   2G  5 Extended
/dev/sda5       37752832 41940991  4188160   2G 82 Linux swap / Solaris
2.mount和umount挂载和卸载磁盘

mount [选项] [类型] 设备文件名 挂载点目录

umount 挂载点目录

挂载的含义:linux将所有的设备都看作文件,将整个计算机的资源整合成一个大的目录。如果要访问设备上的文件,必须将所有的分区挂载到一个已经存在的目录上。然后通过这个目录来访问设备。

插入U盘,查看分区:

ew@ubuntu:~/Desktop/test3$ sudo fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
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: 0xeb689ed0

Device     Boot    Start      End  Sectors Size Id Type
/dev/sda1  *        2048 37750783 37748736  18G 83 Linux
/dev/sda2       37752830 41940991  4188162   2G  5 Extended
/dev/sda5       37752832 41940991  4188160   2G 82 Linux swap / Solaris




Disk /dev/sdb: 3.8 GiB, 4026531840 bytes, 7864320 sectors
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: 0x00000000

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        8064 7864319 7856256  3.8G  b W95 FAT32

可以发现多了一个分区。U盘插入后默认是存在/dev/sdb1中。

通过mount可以实现U盘的挂载:

mkdir test3
sudo mount /dev/sdb1 test3 //需要有root权限

umount实现U盘的卸载:

sudo umount test3

-o options主要用来描述设备或档案的挂接方式。常用参数:

loop把一个文件当成硬盘分区挂接上系统,如加载ISO文件mount -o loop /abc.iso /mnt

ro采用只读方式挂接设备

rw采用读写方式挂接设备

16.查看磁盘文件位置
1.which查看可执行文件位置

which [文件]

在环境变量$PATH设置的目录里寻找符合条件的文件。

只能查找可执行文件。

一般只查询到第一个匹配的结果。如果将所有匹配的结果全部显示出来需要加上-a参数。

2.whereis查看文件位置

whereis [文件]

不仅能够找到可执行的命令,而且可以找到帮助文档、源文件。

3.locate查看文件位置

whereis为全匹配查找,locate为局部匹配查找,会去文件的数据库内寻找符合条件的文件。

4.find在指定的目录中寻找文件

find [路径] [选项] [描述]

如果缺少路径则在当前目录下搜索。

参数:-name支持通配符*和?

-user用户名,搜索文件属主为用户名的文件。

-print输出搜索结果并打印。

17.信息查看相关命令
1.dmesg显示开机信息
2.uptime显示关于系统相关的时间信息
new@ubuntu:~/Desktop$ uptime
 05:02:13 up  3:52,  1 user,  load average: 0.00, 0.07, 0.09

现在的时间,系统开机运转到现在经过的时间,连线者的使用数量,最近一分钟、五分钟和十五分钟的系统负载。

3.who查看当前系统用户

who [选项]显示登陆用户、使用终端设备、登陆到系统的时间。

new      tty7         2018-08-28 23:35 (:0)

whoami只查看当前用户。

4.last

列出目前与过去登入系统的用户相关信息

5.其它

hostname 域名

cal 日历信息

date 时间及日期信息

18.软件包安装

网络安装比较常用:sudo apt-get install [文件名]

也可以通过su root登录之后,去掉上面的sudo后安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值