以前只是用到相关命令就去网上查,用的时候针对很多命令也并不清楚其确切的含义。现在抽点时间系统性的学习了一下linux系统的一些知识,把常用的命令列举了下来。可能列举的这些不够全面,这只是针对我本人的一个学习的小笔记本,很多不常用的我也没写。不喜勿喷!

1.目录
. 表示当前目录
.. 表示上一层目录
- 表示前一个工作目录
~ 表示当前用户身份所在的家目录
ubuntu系统学习笔记
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表示目录。

ubuntu系统学习笔记

13. chmod 777 file1
      rwx 使用111表示,755,751代表rwxr-xr-x,rwxr-x--x
14.更改权限chmod
    u文件属主、g文件属组、o其他人、a所有人
    $ chmod u+x  days
ubuntu系统学习笔记
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


相关文章: