以下是小生在学习linux过程中整理的笔记,因为个人比较菜,笔记比较细啰嗦,希望能给需要的小伙伴一点帮助。
1.立即关机 poweroff
跳出虚拟机,显示鼠标ctrl+alt
进入虚拟机,隐藏鼠标ctrl+g
在终端中输入命令过程中某行命令输入错误了,但是回车不能退出也没有自动退出可以,可以按ctrl+c或者ctrl+】,或者ctrl+d来退出,具体按那个要按具体情况而定。
2.普通用户与管理员(root)身份切换:
在Linux中很多命令在普通用户是没有权限使用的,
‘[root@localhost sxp]# ’即为管理员身份
‘[sxp@localhost ~]$ ’为用户名为sxp的普通用户
普通用户到管理员:‘su’或’su -’(注意空格,因为管理员身份都是root,所以这里省略)
管理员到普通用户:‘su - sxp’(注意空格,要加上普通用户名)
3.在系统中执行某个命令后想立即终止它的执行,可同时按下ctrl+c快键键
4.当某些命令在执行过程中会大量输出内容,不断刷屏,影响之后命令的输入,单又不想终止
该命令的执行,可以在输入该命令的时候,在命令后边加上&,这样该命令就会在后台执行。
5.ifconfig 查看计算机网络配置和当前网络状态,inet后为IP地址,ether后为Mac地址(网卡物理地址),RX即TX为接受数据包和发送数据包的个数和累计流量。
6.uname命令用于查看当前系统内核和系统版本信息,一般会加上 -a参数,以查看详细信息,如
[root@linuxprobe ~]# uname -a
Linux linuxprobe.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2017
x86_64 x86_64 x86_64 GNU/Linux
以空格来区分,以此为内核名称,主机名称,内核发行版本等
redhat-release命令用于查看系统版本详细信息,如下(cat命令是一个文本输出命令,后边为参数,所以注意空格)
[root@linuxprobe ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
7.uptime 查看系统负载情况,输出信息依次为系统当前时间,系统已启动时间,启用终端数量以及平均负载情况。这里的评价负载情况指的是系统在一分钟之内,五分钟之内以及十五分钟之内的压力情况,压力值越低越好。
[root@linuxprobe ~]# uptime
22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18
8.free 参看系统当前内存使用情况,输出数据以 M 为单位,加上 -h 参数后会将数据转换为以 G 为单位
9.who 用来查看所有已登入当前主机的用户信息
10.last 命令可以查看历史记录中所有用户登录信息,该记录文件保存在本地,可以被恶意程序修改,所以不能以此绝对确定历史登录信息,仅供参考。
11.history 命令查看所有历史输入命令 ,加上 -c 参数,情况命令输入历史记录
12.pwd 命令查看用户当前所处工作目录
13.ls(注意这里是l不是i) 命令可以查看当前目录下文件信息, -a 为所有文件, -l为详细信息,俩个参数都加上即为所有文件的详细信息。
(1)sxp@sxp-PC:~/Desktop$ ls -l 2.txt
-rw-r–r-- 1 sxp sxp 124 9月 13 17:02 2.txt
(2)sxp@sxp-PC:~/Desktop$ ls -a
. … 1.txt 2.txt 3.txt
14.top 命令可以动态查看系统中运行的各进程以及系统的资源占用情况,我们可以将其理解为强化版的Windows系统中的任务管理器。
15.cat 命令查看内容较少的纯文本文件, -n 参数可以显示行数
more 命令用来查看内容较多的纯文本文件
16.head -n 20 1.txt 查看纯文本文档,“1.txt”的前20行
17.tail 命令查看纯文本文档的后n行,或者刷新某纯文本文档
tail -n 20 1.txt 查看“1.txt”的后20行
tail -f 1.txt 刷新“1.txt”
18.tr 命令用作对文本内容某些字符的替换,先用cat命令读取该文件,然后用tr命令执行替换,
cat 1.txt | tr [a-c] [A-C]
这里将a-c的所有小写字母改为大写字母,也可以只改某一个字母,但是要注意的是:
(1)这里cat及其参数与tr之间有竖线隔开
(2)想用cat将目标文件输出到终端,而tr修改的也是放在终端的文字,将其修改后再在终端输出,所以tr不会改变原文件
同样,这里可以用head和tail来输出某几行,并替换其中字符,但是tr只能有一个参数,即只能同时修改一个tr [] [],
不能tr [] [] [] []
19.wc 命令用于查看文档的行数,字符以及字节数,参数分别为 -l 行数,-w 字符数, -c 字节数
sxp@sxp-PC:~/Desktop$ wc -l 1.txt
55 1.txt
sxp@sxp-PC:~/Desktop$ wc -lwc 1.txt
55 121 3281 1.txt
sxp@sxp-PC:~/Desktop$ wc 1.txt
55 121 3281 1.txt
20.stat 命令可以查看文件的详细信息,如创建时间,大小,修改时间。权限以及用户等等。
sxp@sxp-PC:~/Desktop$ stat 1.txt
文件:1.txt
大小:3281 块:8 IO 块:4096 普通文件
设备:809h/2057d Inode:8134144 硬链接:1
权限:(0644/-rw-r–r--) Uid:( 1000/ sxp) Gid:( 1000/ sxp)
最近访问:2018-09-13 16:37:15.501811427 +0800
最近更改:2018-09-13 16:36:42.329812021 +0800
最近改动:2018-09-13 16:36:42.441812019 +0800
创建时间:-
21.sudo passwd root 在系统初始化的时候我们设置root密码,会造成在终端su切换root权限时报“鉴定故障”的错误,这时我们重新设置root密码,
sxp@sxp-PC:~$ sudo passwd root
[sudo] sxp 的密码:
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
sxp@sxp-PC:~$ su
密码:
root@sxp-PC:/home/sxp#
passwd命令用来保存用户数据,更新密码后再次su即可切换大root权限
22.cut 按列提取文本内容,使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号使用-f 参数来设置需要看的列数,还需要使用-d 参数来设置间隔符号。
23.diff 命令用于比较两个文本文件内容是否相同,这里要注意的是比较的是文本文件且比较的是他们的内容,用diff参数设置待比较的两个文件
sxp@sxp-PC:~/Desktop$ diff --brief 2.txt 3.txt
文件 2.txt 和 3.txt 不同
-c参数可以可以讲两个文本文件内容的不同之处在终端输出
sxp@sxp-PC:~/Desktop$ diff -c 2.txt 3.txt
*** 2.txt 2018-09-13 17:02:12.393784620 +0800
— 3.txt 2018-09-14 14:54:37.235289021 +0800
***************
*** 1,6 ****
AAAAAAAAaaaaaaaaa
- BBBBBBBBbbbbbbbbb
CCCCCCCCccccccccc
EEEEEEEEeeeeeeeee
FFFFFFFFfffffffff
都看见了件那份麻烦两位
— 1,6 ----
AAAAAAAAaaaaaaaaa
CCCCCCCCccccccccc
+ BBBBBBBBbbbbbbbbb
EEEEEEEEeeeeeeeee
FFFFFFFFfffffffff
都看见了件那份麻烦两位
24.touch 命令可以创建空白文件(不是文件夹),创建文件时直接在命令后加文件名(加后缀)就可以,同时也修改文件的读取和修改时间, -a 参数修改读取时间, -m参数修改修改时间, -d则是二者都修改(注意这里是文件而不仅局限于文档)
sxp@sxp-PC:~/Desktop$ ls -l 3.txt
-rw-r–r-- 1 sxp sxp 124 9月 14 16:36 3.txt
sxp@sxp-PC:~/Desktop$ touch -d “2018-7-23 09:00” 3.txt
sxp@sxp-PC:~/Desktop$ ls -l 3.txt
-rw-r–r-- 1 sxp sxp 124 7月 23 09:00 3.txt
创建新文件
sxp@sxp-PC:~/Desktop$ touch 4.txt
sxp@sxp-PC:~/Desktop$ touch 1.pdf
sxp@sxp-PC:~/Desktop$ touch 1.doc
sxp@sxp-PC:~/Desktop$ touch 1.ppt
25.mkdir 命令可以创建一个新的空白文件夹(注意新建的只能是文件夹),命令后接文件夹命名,同时还可以用 -p 参数来创建子目录,子目录可以是层叠的,创建子文件夹即是在当前文件夹内创建新文件夹,所以要利用 cd 进入当前文件夹内
sxp@sxp-PC:~/Desktop$ mkdir 1
sxp@sxp-PC:~/Desktop$ cd 1
sxp@sxp-PC:~/Desktop/1$ mkdir -p 2/3/4/5
sxp@sxp-PC:~/Desktop/1$ cd 5
bash: cd: 5: 没有那个文件或目录
sxp@sxp-PC:~/Desktop/1$ cd 2/3/4/5
sxp@sxp-PC:~/Desktop/1/2/3/4/5$
如上,新建文件夹1,进入该文件夹,逐层创建2/3/4/5文件夹,后者为前者子文件夹,因为当前路径处于文件夹1内,我们想跨过2/3/4文件夹cd进5,失败了,所以应该明确指定路径,进入5.
26.cp 命令用于复制文件夹或文件,命令后为参数, -p 用于保存源文件的属性, -d 当源文件为链接时,复制后保存其链接属性, -r 用来复制文件夹,诸层复制, -i 则是当目标文件与源文件相同时,要提示是否覆盖,如果不设置 -i 参数,同名是默认覆盖(亲测);参数后为源文件名(待复制文件),源文件后为目的文件名;当源文件为文件,而目的文件名为一个文件夹或是路径时,将源文件放到该路径下。
(1)将多层文件夹1诸层复制给文件夹2(在当前路径新建文件夹2并将1的子文件夹诸层复制过来)
sxp@sxp-PC:~/Desktop$ cp -r 1 2
(2)在当前路径下将1.txt放到文件夹2中,命名22.txt
sxp@sxp-PC:~/Desktop$ cp 2.txt 2/22.txt
(3)加上 -i 参数后在覆盖前会询问,输入“1”或“是”覆盖,直接回车不输入取消
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆盖’2/22.txt’? 1
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆盖’2/22.txt’? 恩恩
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆盖’2/22.txt’? 0
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆盖’2/22.txt’?
sxp@sxp-PC:~/Desktop$ cp -i 3.txt 2/22.txt
cp:是否覆盖’2/22.txt’? 是
27.mv 命令用于剪切文件,这里的剪切不是说将文件部分内容剪切下来,而是对于文件本身而言,命令后分别为源文件名和目的文件名,将其剪切到新的目录下就相当于移动,源文件会被删除,剪切到当前目录即为重命名
(1)将桌面上的“3.txt”剪切到3文件夹中,新文件夹命名为“33.txt”,不同目录剪切是为移动
sxp@sxp-PC:~/Desktop$ mv 3.txt 3/33.txt
(2)将桌面上3文件夹中的“33.txt”剪切命名为“44.txt”并保存在3文件夹中,同目录剪切是为重命名
sxp@sxp-PC:~/Desktop$ mv 3/33.txt 3/44.txt
28.rm 命令用于删除文件或文件夹,删除一个文件夹时即便是一个空文件夹也要加上 -r 参数,否则无法删除,如下“4”为一个空文件夹
sxp@sxp-PC:~/Desktop$ rm 4
rm: 无法删除’4’: 是一个目录
sxp@sxp-PC:~/Desktop$ rm -r 4
删除某一个文件:sxp@sxp-PC:~/Desktop$ rm 3.txt
29.dd 命令用于从指定位置复制指定大小的数据块出来,if参数后为源文件名(可加路径),of参数后为目的文件名(可加路径),bs参数可理解为复制一次的数据大小,count为复制次数,bs与count的乘机为复制文件的大小,即复制该文件我们要求系统复制count次,每次复制bs这么多。
[root@linuxprobe ~]# dd if=/dev/zero of=560_file count=1 bs=560M
1+0 records in
1+0 records out
587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s
如上,从"dev/zero"目录中复制560m大小的数据,放在原目录中,新文件名为"560_file",每次复制操作复制560m,只需复制一次。中间两行做操作记录。
dd命令还可以直接将数据压缩成iso文件而不是想Windows那样需要借助第三方软件,即将待压缩数据放到if中,在of中输出ISO命名,
[root@linuxprobe ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
如上,当源文件是某个文件时,其内存大小固定,所以可以不用bs和count参数来限定数据块大小。
30.file 命令用于参看文件类型,在Linux中我们把文本,文件夹,设备都一切都称为文件,我们可以用file命令来参看文件的类型,
sxp@sxp-PC:~/Desktop$ file 1
1: directory
sxp@sxp-PC:~/Desktop$ file 2.txt
2.txt: UTF-8 Unicode text
sxp@sxp-PC:~/Desktop$ touch 1.py
sxp@sxp-PC:~/Desktop$ file 1.py
1.py: empty
sxp@sxp-PC:~/Desktop$ touch 1.exe
sxp@sxp-PC:~/Desktop$ file 1.exe
1.exe: empty
如上,文件夹类型为directory,txt文档会给出编码格式。