快捷搜索:
来自 67677新澳门手机版 2019-06-21 06:17 的文章
当前位置: 67677新澳门手机版 > 67677新澳门手机版 > 正文

学习笔记

一、 Linux介绍

 

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

Linux 学习笔记,linux学习笔记

     Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。      Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。  


  linux shell命令   系统命令  

命令 作用 用法
ls 展示目录文件 ls -al <directory>
cd 改变目录 cd <route>
mkdir/rmdir 创建/删除目录 cd <directory>
touch 创建文件 touch <file>
date/cal 系统时间/日历  

 

ps 显示进程  
pwd 显示当前目录  
df/du 显示内存  
ifconfig 配置  
kill/reboot/shutdown 杀进程/重启/关机  
cp/rm/mv 复制/删除/移动 cp <srcouce> <destination>

 

ssh 远程登录 ssh [email protected]
chown/chgrp/chmod 修改权限 chmod a x <dir/file>
diff 对比文件差异 diff <src>  <dest>
find 寻找文件 find <dir> -name <file>
ping 检查连通性 ping <IP>
tar 压缩/解压 tar -cvf <file.tar> 压缩 tar -xvf <file.tar> 解压

 

which 查找脚本文件 which -a <file>
whereis 查找文件 whereis <file>

  文本处理命令  

cat 从第一行显示文件内容 cat [-n] <file>
grep 正则查找内容 grep -n ’RE‘ 显示行号
cut 把每一行分块 cut -d 'RE' -f2 根据RE分割,选取2块
echo 显示文字 echo -[ne] "string" n换行 e转义可用
sed 文字替换 sed 1,20s/a/b/g 第1-20行把a替换成b
awk 对一行的文字处理 awk '{print $1 "t" $3}' 将一行的第一块和第三块打印出来

 

tr 字符转换 tr  “ ” ”t“   把“ ”替换成tab
 unset 删除变量 unset <var>
type  显示命令类型 type <command/dir/file>
alias/unalias 创建/删除别名 alias string1='string2'
command > file1 file2 < command file2 << "EOF"结束输入
command 2>&1 / &> file3 command2 >> file1继续添加 数据流重定向

  正则表达式(grep '')

^word word在行首 grep -n '^the' 行首是the的行
word$ word在行尾 grep -n '.$'  行尾是。的行
. 一定有任意一个字符 grep -n 'go.g' 包含go_g的行
转义  
word* 有0到无穷个前面的字符 grep -n 'goo*g' 包含go_____g的行
[list] 一定有一个[]内的字符 grep -n 'go[oa]g'包含goog/goag的

 

[n1-n2] 有一个范围内的字符 grep -n '^[0-9]' 行首为数字
[^list] 不在列表内的字符 grep -n '[^a-zA-Z]' 不包含字母
word{n,m} 重复n-m边前面的word字符 grep -n 'go{2,5}g' 行的gg之间有2-5个o
     
     
     

  vim操作  

i/ESC 进入编辑/一般 模式  
n G 去第n行 11G 去11行
gg/G 第一行/最后一行  
ctrl f / b 向上/下翻页  
Home/End 行首/尾  
/word   ?word 向后/前查找word /aaa  查找aaa所在的行并定位

 

n 重复前一个操作  
:n1,n2s/a/b/g 一般模式下的替换 :2,20s/a/b/g 第2-20行a替换成b
x 删除一个字符  
dd 删除一行  
n dd 删除光标之后的n行 111111dd 删除111111行,用于清空
n yy 复制光标之后的n行 11yy

 

p 复制到光标所在位置  
u 撤销上一步操作,类似ctrl z  
:wq/wq! 一般模式,保存并退出vim  
:set nu 设置行标  
:r/w <file> 读写另一个文件 :r a.txt

    判断语句 [] 判断语句一般用中括号[] 来进行识别,数值和变量的比较也有所不同,且有固定的格式,中括号及内容都需要空格隔开,例如判断string1和string2是否相等,如果为真返回0 [ "string1" = "string2" ]     整数数值比较,不用<> =来进行比较

-eq 等于 [ n1 -eq n2 ]
-ne 不等于  
-lt 小于litter than  
-le 小于等于  
-gt 大于great than  
-ge 大于等于  

判断变量和字符串

-d 变量是不是目录 [ -d /directory ] 
-z 变量是否有值  
-f 变量是不是文件  
-n 字符串是否为空  
     
     

  二 .ubuntu常用命令 1. dpkg: package manager for Debian
  * 安装: dpkg -i package
  * 卸载: dpkg -r package
  * 卸载并删除配置文件: dpkg -P |--purge package
  * 如果安装一个包时。说依赖某些库。 可以先 apt-get install somelib...
  * 查看软件包安装内容 :dpkg -L package
  * 查看文件由哪个软件包提供: dpkg -S filename
  * 另外 dpkg还有 dselect和aptitude 两个frontend.
  2. apt
  * 安装: apt-get install packs
  * apt-get update : 更新源
  * apt-get upgrade: 升级系统。
  * apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包
  * apt-get -f install : -f == --fix broken 修复依赖
  * apt-get autoremove: 自动删除无用的软件
  * apt-get remove packages :删除软件
  * apt-get remove package --purge 删除包并清除配置文件
  * 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P
  * 安装软件时候包的临时存放目录 : /var/cache/apt/archives
  * 清除该目录: apt-get clean
  * 清除该目录的旧版本的软件缓存: apt-get autoclean
  * 查询软件some的依赖包: apt-cache depends some
  * 查询软件some被哪些包依赖: apt-get rdepends some
  * 搜索软件: apt-cache search name|regexp
  * 查看软件包的作用:apt-cache show package
  * 查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends
  * 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)
  * 安装软件包源码的同时, 安装其编译环境 :apt-get build-dep packagename (有deb-src源)
  * 如何将本地光盘加入安装源列表: apt-cdrom add
  3. 系统命令:
  * 查看内核版本: uname -a
  * 查看ubuntu 版本: cat /etc/issue
  * 查看网卡状态 : ethtool eth0
  * 查看内存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo
  (/proc下面的有很多系统信息)
  * 打印文件系统空间使用情况: df -h
  * 查看硬盘分区情况: fdisk -l
  * 产看文件大小: du -h filename;
  * 查看目录大小: du -hs dirname ; du -h dirname是查看目录下所有文件的大小
  * 查看内存的使用: free -m|-g|-k
  * 查看进程: ps -e 或ps -aux -->显示用户
  * 杀掉进程: kill pid
  * 强制杀掉: killall -9 processname
  4. 网络相关: 
  * 配置 ADSL: sudo pppoeconf
  * ADSL手工拨号: sudo pon dsl-provider
  * 激活 ADSL : sudo /etc/ppp/pppoe_on_boot
  * 断开 ADSL: sudo poff
  * 根据IP查网卡地址: arping IP地址
  * 产看本地网络信息(包括ip等): ifconfig | ifconfig eth0
  * 查看路由信息: netstat -r
  * 关闭网卡: sudo ifconfig eth0 down
  * 启用网卡: sudo ifconfig eth0 up
  * 添加一个服务: sudo update-rc.d 服务名 defaults 99
  * 删除一个服务: sudo update-rc.d 服务名 remove
  * 临时重启一个服务: /etc/init.d/服务名 restart
  * 临时关闭一个服务: /etc/init.d/服务名 stop
  * 临时启动一个服务: /etc/init.d/服务名 start
  * 控制台下显示中文: sudo apt-get install zhcon
  * 查找某个文件: whereis filename 或 find 目录 -name 文件名
  *通过ssh传输文件
  scp -rp /path/filename [email protected]:/path #将本地文件拷贝到服务器上
  scp -rp [email protected]:/path/filename /path #将远程文件从服务器下载到本地
  5. 压缩:
  *解压缩 a.tar.gz: tar zxvf a.tar.gz
  *解压缩 a.tar.bz2: tar jxvf a.tar.bz2
  *压缩aaa bbb目录为xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb
  *压缩aaa bbb目录为xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb[6] 

  1. Nautilus:
      特殊 URI 地址
      * computer:/// - 全部挂载的设备和网络
      * network:/// - 浏览可用的网络
      * burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录
      * smb:/// - 可用的 windows/samba 网络资源
      * x-nautilus-desktop:/// - 桌面项目和图标
      * file:/// - 本地文件
      * trash:/// - 本地回收站目录
      * ftp:// - FTP 文件夹
      * ssh:// - SSH 文件夹
      * fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装
      * themes:/// - 系统主题文件夹
      * 显示隐藏文件: Ctrl h
      * 显示地址栏: Ctrl l
      * 查看已安装字体: 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts[6]  7.补充部分: * 查看本地所有的tpc,udp监听端口: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
      * 通过man搜说相关命令: man -k keyword . eg: man -k user
      * 或者用 apropos
      * 统计文件所占用的实际磁盘空间: du (du - estimate file space usage)
      * 统计文件中的字符,字节数: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)
      * 查看文件的内容: od -x/-c/.... (od - dump files in octal and other formats)
      我认为od最有用的就是文件的字节流了: od -t x1 filename
      查看文件的 Ascii 码形式: od -t c filename (其中统计信息最左边的是: 字节数)
      * 查找命令所在文件的位置: which od 输出: /usr/bin/od
      查看该文件由哪个包提供: dpkg -S /usr/bin/od 输出: coreutils: /usr/bin/od
      再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils
      然后 info coreutils 哈哈,认真学吧, 满世界都是命令!
      * 可以用man 命令产看某个命令的所有section 的解释: man -a tty
      然后用q,和next 转换到下一个section的解释
      * bash 的好用的快捷键:
      ctrl a:光标移到行首。
      ctrl b:光标左移一个字母
      ctrl c:杀死当前进程。
      ctrl d:退出当前 Shell。
      ctrl e:光标移到行尾。
      ctrl h:删除光标前一个字符,同 backspace 键相同。
      ctrl k:清除光标后至行尾的内容。
      ctrl l:清屏,相当于clear。
      ctrl r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
      ctrl u: 清除光标前至行首间的所有内容。
      ctrl w: 移除光标前的一个单词
      ctrl t: 交换光标位置前的两个字符
      ctrl y: 粘贴或者恢复上次的删除
      ctrl d: 删除光标所在字母;注意和backspace以及ctrl h的区别,这2个是删除光标前的字符
      ctrl f: 光标右移
      ctrl z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl z ,到后台,然后fg,重新恢复
      * 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。
      * 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。
      * 快速重启X服务: 同时按下: Alt Ctrl Backspace 三个键。
      * 打开"运行"窗口: 同时按下 Alt F2 键。
      * 戴屏: a、全屏:直接按下 PrtScr 键。
      b、当前窗口:同时按下 Alt PrtScr 键。
      c、延时戴屏:在 终端 或 "运行"窗口中输入命令: gnome-screenshot --delay 3 ,将延时 3 秒后戴屏。
      * 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。[6]  8.ulimit
      ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。
      ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)
      和可同时运行的最大进程数(max user processes)无效
      -a 列出所有当前资源极限
      -c 设置core文件的最大值.单位:blocks
      -d 设置一个进程的数据段的最大值.单位:kbytes
      -f Shell 创建文件的文件大小的最大值,单位:blocks
      -h 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限
      -l 可以锁住的物理内存的最大值
      -m 可以使用的常驻内存的最大值,单位:kbytes
      -n 每个进程可以同时打开的最大文件数
      -p 设置管道的最大值,单位为block,1block=512bytes
      -s 指定堆栈的最大值:单位:kbytes
      -S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者
      -t 指定每个进程所使用的秒数,单位:seconds
      -u 可以运行的最大并发进程数
      -v Shell可使用的最大的虚拟内存,单位:kbytes
      eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)         小哥哥的学习笔记哟,棒棒棒!

学习笔记,linux学习笔记 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多...

二、主要特性

基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。[3]

完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。[4]

完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。[4]

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。[4]

本文由67677新澳门手机版发布于67677新澳门手机版,转载请注明出处:学习笔记

关键词: