以前只是用到相关命令就去网上查,用的时候针对很多命令也并不清楚其确切的含义。现在抽点时间系统性的学习了一下linux系统的一些知识,把常用的命令列举了下来。可能列举的这些不够全面,这只是针对我本人的一个学习的小笔记本,很多不常用的我也没写。不喜勿喷!
1.目录
. 表示当前目录
.. 表示上一层目录
- 表示前一个工作目录
~ 表示当前用户身份所在的家目录
2.绝对路径必定由以“/”开头
3.mkdir -p ~/tempx/job 完整地创建一个子目录结构
4.mv -i hello test/使用带i的命令会提示。
mv -b hello test/ 使用带-b选项,会在目标目录的同名文件的文件名的后面添加一个~。如hello和hello~
linux没有重命名,使用重命名就是把一个文件内容移到另外一个文件中,mv hello~ hello_bak
5.rm test/*.php删除所有php格式文件
rm -i test/hello提示信息
rm -f test/hello不提示,避免交互信息
rm -r photos/ 递归地删除目录下所有文件和子目录
6.cp和mv用法同
cp test/ desktop/只复制里面的内容不复制最顶层目录
cp -r test/ desktop/连同目录一起复制
7.ls
$ ls
$ ls -F这个区分目录(/)、可执行文件(*)、普通文件、链接文件(@)
$ ls -a 查看所有文件包括隐含文件
$ ls -aF 结合上面两种功能
$ ls -l 查看文件属性
$ ls -ld查看目录属性
8.cat
$ cat file读文件
$ cat file1 file2连续读两个文件
$ cat -n file 读文件并标示行号
9.grep
在文件中查找内容
$ grep un day 在day文件中查找包含un的行,得到结果sunday
$ grep un file1 file2在多个文件中查找
10.head
$ head -n 2 file1 file2 分别读取各个文件的前2行
$ tail -n 2 file1 file2 分别读取各个文件的末尾2行
11.more和less
该命令和cat功能类似,但是能实现翻页功能。比cat好用。按下空格键可以实现翻页;按下B键向上翻页;按下Enter键会实现向下滚动一行。按下Q建退出。光标键向左右移动。
在文件中搜索某一个字符串时,使用“/”跟上想要查找的内容,less会显示到第一个搜索目标高亮显示。
less -M显示更多信息。
12.-rwxr-xr-x
第一个-是代表普通文件,rwx、r-x、r-x三个进行分组,如果不具备某个权限,就用-代替。
三个权限分别指属主、属组、其他人所拥有的权限。
rwx使用111表示,也就是777的时候权限最大。
drwxr-xr-x其中d表示目录。
13. chmod 777 file1
rwx 使用111表示,755,751代表rwxr-xr-x,rwxr-x--x
14.更改权限chmod
u文件属主、g文件属组、o其他人、a所有人
$ chmod u+x days
15.chown和chgrp修改文件所有权(ubuntu linux操作系统实用教程74页)
chagrp专门设置属组
chown可以设置属主
16.ln
软链接 $ ln -s file1 file2
硬链接 $ ln file1 file2
把文件file1取别名file2。
软链接删除file2并不影响file1,但是删除file1时虽然file2存在但是已经没有实际意义了。
硬链接删除任何一个文件时,其它不存在。
17.重定向输出
$ ls > ~/ls_out
这条命令是输出不会输出到显示器上,而是出现在用户主目录下的ls_out文件中。
如果ls_out文件不存在则创建文件,如果已经存在了就删除原有文件内容,然后用新的内容代替。
18. uname -r > ls_out会直接覆盖信息,uname -r >> ls_out 可以保留原来文件内容,在后面追加
19.find命令
$ find /usr/bin/ -name *.zip -print
$ find /etc/ -name intid.d -type d -print 查找/etc/目下的名为intid.d的目录。
$ find /usr/bin/ -type f -atime +100 -print 查找最近100天内没有使用过的命令
-atime n用来查找最后一次使用在n天前的文件。-mtime n用来查找最后一次修改在n天前的文件。+n表示大于n天,-n表示小于n天。
20. $ ls | grep ay
查找当前目录下的所有文件名且文件名包含ay
21.linux root用户
绝大多数linux系统都是存在root用户,而Debian和Ubuntu只有普通用户,没有root用户,在安装过程中设置的普通用户账号在某种程度上充当了root。
22. sudo -s相当于su,将自己提升为root用户
23 .$ sudo useradd -m alice
$ sudo passwd alice
添加一个新用户和密码。如果不带参数-m就会造成不会为新用户建立主目录。
$ sudo useradd -g users mike
24.删除用户
$ sudo userdel mike 删除用户但不删除主目录
$ sudo userdel -r alice 删除用户同时删除主目录
25. 注意su命令和su - 命令的区别。
su切换用户到其他用户,但是不切换环境变量。su - 是完整地切换到一个用户环境。
26.注意区分su和sudo区别
一个是全部权限,一个是临时权限。root权限限制使用。
27.history
history可以看到自己曾经执行的操作。
history n 可以查看前n条记录。默认可以存储1000条指令记录。
28. 查看进程和杀死进程
$ ps aux | grep badpro 查看进程
$ kill 12974 杀死一个进程
$ ps aux
$ top 及时跟踪,动态监控,默认每10秒更新一次。使用q退出监视。
29.进程标识PID
30.nice和renice可以调整进程优先级
31.文件系统
Windows下有两种文件系统NTFS和FAT
Linux下最早的文件系统是minix。后专门设计的linux文件系统扩展为EXT2。linux存在EXT2文件系统、虚拟文件系统、/PROC文件系统三个代表性的文件系统。
ext4fs代替ext3fs,成为主流的文件系统,增加了日志功能。
32.swap
SWAP交换分区,实际上并不是一个文件系统。它相当于windows系统中的分页文件,也就是所说的虚拟内存。当内存空间不足的时候,会从内存空间取出一部分暂时不用的数据放到交换区。swap分区最大不能超过2GB。分区类型号82是swap分区类型,
33.磁盘监控命令fdisk
一块磁盘的时候sda,第二块的时候sdb。
$ ls /dev/ | grep sd
34.剩余空间df
$ df
$ df -t ext4
35.空间使用量du
$ du -sh ./ 查看当前目录大小
$ du -sh directory_name 查看某一指定目录大小
$ du -a 将每一个文件大小都列出来
36.tar
tar -cvf zgd.tar zgd/
tar -xvf zgd.tar
- c是指导tar创建归档文件、
- v是显示命令的执行过程、
- f是制定归档文件的文件名、
- x是解开归档文件、
- w是每次将单个文件加入或解开归档文件征求用户的意见。
- z是非常有用的选项,使用这个选项的tar命令会自动调用gzip程序完成相关操作。针对的是zgd.tar.gz这种文件。使用tar -xzvf zgd.tar.gz是首先解开gzip解压缩,然后再使用tar解开被gzip处理过的.tar文件。使用tar -czvf zgd.tar.gz zgd/首先是首先使用tar创建归档文件,然后tar程序在最后调用gzip压缩归档文件。
$ tar -czvf zgd.tar.gz zgd这条命令相当于结合tar和gzip一起使用。
等价于 $ tar -czf zgd.tar zgd 和 $ gzip zgd.tar
$ tar -xzvf zgd.tar.gz
等价于 $ guzip zgd.tar.gz 和 $ tar -xvf zgd.tar
注意这两者在使用的时候有先后顺序。
.tar.gz是linux最流行的压缩文件格式。首先经过tar打包程序处理,然后使用gzip压缩。
37.gzip
gzip后面可以跟-d选项也可以不跟。
gzip后面跟-l选项,用于查看压缩效果。
-t选项可以测试压缩效果。-tv也是可以显示压缩效果,并显示压缩效果,如ok。
38.dump
备份文件系统dump -0u -f /dev/nst0 /web(书本120页)
rdump将备份转储到远程主机上。
restore命令是使从灾难中恢复。
39.deb软件包管理机制
deb格式的软件包通常以.deb结尾。
dpkg -help查看命令完整信息
dpkg --install或者简写为-i。这个是安装之前会把系统上原有版本删除。
--force-是强制安装。一般不随意使用。
dpkg --remove(简写为-r)是卸载已经安装的软件包。
$ dpkg -l | grep opera
$ sudo dpkg --remove opera 卸载opera浏览器
40.rmp软件包管理机制
rmp工具用于管理.rmp格式的软件包,用于绝大多数linux发行的版本。
$ sudo rmp -i -v -h zgd.rmp
等价于$ sudo rmp -vih zgd.rmp
其中 -i 是用于安装, -v是显示执行的工作,-h选项是打印当前用户安装的进度。
$ sudo rmp -e zgd 卸载软件包
$ sudo rmp -e -vv -test zgd-devel 这个是卸载选项,模拟删除软件包的过程,但是不是真正的删除操作。 -vv是输出完整的调试信息。
$ sudo rmp -Uvh zgd.rmp 更新软件包,用于升级一个软件包。
41.apt软件包管理工具
$ apt-get update更新当前apt-get缓存中软件包信息。
$ apt-get install xxx 安装程序
$ apt-get upgrade 下载并安装在本系统上已有的软件包的最新版本。
$ apt-get remove卸载特定的软件包。
$ apt-get clean 删除所有已下载的软件包文件。
$ apt-get source 下载特定的软件源代码。
42.定时命令
at定时执行
atq当前设置的任务
atrm 删除任务
定时备份系统文件需要求助cron,已root身份打开/etc/crontab文件。添加一行内容(135页)
43.ping
检测网络是否畅通,给目标ip地址发送一个数据包,对方返回一个同样大小的数据包,根据返回的数据包可以确定目标主机的存在,可以初步判断目标主机的操作系统。
使用Ctrl+C强行退出,或者指定发送包的数量。
$ ping -c 5 IP地址(请求5次)
$ ping -I 2 IP地址(间隔2s)
44.检测端口netstat
netstat -a 列出所有当前的连接
netstat -at 列出tcp协议的连接
netstat -au 列出UDP协议的连接
netstat -nr 列出路由表
45.流量监测NetHogs
$ sudo apt-get install nethogs
$ sudo nethogs eht0
默认eth0网卡,如果有多个网卡需要进行指定。
46.ifstat
ifstat工具是个网络接口检测工具。监控I/O和CPU状态。
$ sudo apt-get install ifstat
$ ifstat -l
47.在命令下配置网络
$ sudo ifconfig eth0 192.168.1.14 netmask 255.255.255.0 up
其中eth0是网络硬件接口,eth代表Ethernet以太网,第1个以太网接口是eth0,第2个以太网接口为eth1。无线网络接口一wlan开头。
$ sudo ifconfig eth0 down 关闭网络接口。
48.init和运行级(7级参见157页课本)
$ sudo telinit 6 关闭计算机然后重启
$ sudo telinit 0 关闭计算机
49.FTP服务器默认端口21和22
通常80端口用于提供HTTP服务、20端口接受SSH连接、21端口提供FTP服务。
50.常配置的服务器
FTP服务器、NFS服务器、Samba服务器、Apache服务器
51.远程登录
SSH协议是最好的。ssh是secure shell的缩写,译为“安全的shell”。
SSH默认端口是22号端口,服务器的守护进程在22号端口监听来自客户端的请求。如果服务器的ssh服务没有开启在22端口,那么可以通过ssh的-p选项指定要链接的端口。
$ ssh -l zhang -p 202 192.168.150.139
52.从windows系统登录linux服务器
XShell和PuTTY都很好用。或者使用vncviewer运用实现图形化的VNC的登录X窗口系统的功能。
53.从linux系统登录windows服务器
下载工具rdesktop。很好使用。
54.linux上的杀毒软件
ClamAV。可以在www.clamav.net上下载。
可以扫面文件,加上-r参数还能递归扫描文件夹,家伙是哪个--tgz还能深入到打包文件内部扫描。
ClamAV也提供了图形化工具,如果是ubuntu系统,使用$ sudo apt-get install clamtk 安装之后,用户选择“应用程序”|"附件"|ClamTK命令可以打开它。
55.iptables
Linux防火墙是一种典型的包过滤防火墙。
56.nmap
nmap是用于扫描一组主机的网络端口。最好学着使用一下,对自身很有好处。
57.Nessus
漏洞扫描工具。Home版免费,Work版收费。
58.ubuntu下编辑器
gedit编辑器。
Vim编辑器。Vim是Vi的增强版本,Vi工作在其他大部分Unix系统中。
$ vim file1 如果file1不存在,会自动创建一个名为file1的文件。
59.Vim命令
:wq:保存文件并退出;
:q!:强制退出,不保存所做的修改;
:q:退出
/string:搜索字符串,如/wednesday
还有一些替换字符串功能见课本220页,或者网上查找。
60.GCC和G++区别
GCC会把test.c文件当成C程序,G++会把它当成C++程序。GCC和G++都会把test.cpp文件当成C++程序。
61.编译
Windows下原文件编译成中间代码文件.obj文件,Linux下原文件编译成.o文件。
由于时间和精力有限,总结就先写到这了。转载请注明出处!https://blog.csdn.net/Homewm/article/details/80707996