日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

学习笔记--2014年7月7日

發布時間:2025/3/15 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记--2014年7月7日 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2014年7月7日晚上學習筆記

================

目錄:

一、學習Bash筆記

二、利用Ubuntu創建無線wifi

三、在Ubuntu里禁用不用的桌面

四、安裝軟件時依賴沖突的萬能解決方案

五、Ubuntu安裝nginx

六、配置自己的ubuntu編碼

七、ubuntu 命令行管理軟件

八、ubuntu 命令行安裝 phpmyadmin

九、ubuntu下目錄含義

--------------------

所有的文章全部在http://tiankonguse.com

上看的,記錄了一些自己認為有用的和以后常用的

===================================


學習Bash筆記--2014-07-07

來自:http://tiankonguse.com/record/record.php?id=602

----------------------

編寫工具:

vi/vim;gvim


運行bash:

sh file.sh or ./file.sh


Bash介紹

一個bash文件,就是包含shell命令的文件,也是一個shell程序


Shell變量

變量用來暫時儲存數據

使用Varname=value來給變量賦值,等號兩邊不能有空格

使用${Varname}可以獲得變量的值,大括號可以省略


有類型變量

使用declare加下面的參數聲明特定的變量

·-a將變量看作數組

·-f只使用函數名

·-F顯示未定義的函數名

·-i將變量看作整數

·-r使用變量只讀

·-x標記變量未通過環境導出


位置參數

位置參數可以理解為函數的參數。一個bash文件也可以理解為一個函數

位置參數使用$0,$1,$2等獲得他們的值

$*代表包含所有參數位置的單一字符串。

$@等價與N個單獨的由空格分隔的雙引號字符串


函數

函數可以理解為一個獨立的程序塊,可以多次使用


字符串與模式


條件測試

shell使用[]結構提供了測試各種條件的方式,稱為test測試

可以使用該結構檢驗一個文件的各種屬性(是否存在、文件類型、權限和所有者)

或者比較兩個文件那個更新,以及字符串進行比較

[和]的后和前必須有空格


字符串比較

· == 匹配

· != 不匹配

· < ?小于

· > 大于

· -n str 為null,長度大于0

· -z str 為null,長度為0

分號是shell的標準語句分隔字符


文件屬性檢查

· -d file file存在并且為一個目錄

· -e file file存在

· -f file file存在并且為一個正規文件

· -r file 對 file 有讀權限

· -s file 文件存在且非空

· -w file 對 file 有寫權限

· -x file 對file有可執行權限,如果為目錄,則有目錄搜索權限

· -O file 你是file的所有者

· -G file file的組ID匹配你的ID

· file1 -nt file2 file1比file2新

· file1 -ot file2 file1比file2舊

· -a 和 -o 操作符類似于退出狀態時所用的 && 和 || 操作符。

只有在test條件表達式內可用。


整數條件

· -lt 小于

· -le 小于等于

· -eq 等于

· -ge 大于等于

· -gt 大于

· -ne 不等于


if流程

if condition

then

statements

elif

statements

else

statements

fi


for 流程

for name [in list]

do

statement

done


read可以讀入一個字符串


ssh代碼(例子)

#########################################################################

# File Name: ssh.sh

# Author: tiankonguse

# mail: i@tiankonguse.com

# Created Time: Thu 27 Feb 2014 11:50:04 AM CST

#########################################################################

#!/bin/bash

# declare show name

declare -a names;


names[0]="ms";

names[1]="msProxy";


nameNum=${#names[@]};

echo "pleace select a number that you want to connect.";


i=0;

while [ $i -lt $nameNum ];

do

? ?echo "$i : ?${names[$i]}";

? ?i=$(($i+1));

done


# declare command name

declare -a commands;

commands[0]="ssh tiankonguse@tiankonguse.com";

commands[1]="ssh -D 7070 tiankonguse@tiankonguse.com ";


read i;

if [[ $i =~ ^[0-9]+$ ]]&&[[ $i < $nameNum ]]

then

? ?eval ${commands[$i]};

else

? ?echo "input error!";

fi

==========================

利用Ubuntu 無線網卡創建wifi

參照:http://tiankonguse.com/record/record.php?id=678


第一步:安裝 plasma-nm

可以使用下面的命令,不過建議點擊這個鏈接

sudo apt-get install plasma-nm

第二步:啟動程序

可以使用 Alt+F2 后,搜索 kde-nm-connection-editor

也可以終端直接輸入 kde-nm-connection-editor 。

第三步:建一個wifi

點擊 add, 選擇 Wireless (shared)。

ssid 就是無線名字,比如我的是 tiankonguse。

mode 選擇 Access Point。

可以去 Wireless Security 設置一個密碼,我選的是 WPA & WPA2 Personal 那一項。

第四步:連接 wifi

一般是點擊聯網的圖標,選擇 Connect to Hidden Wi-Fi network 那一項, Connection 選擇你新建的 wifi .

第五步:真正的連接wifi

在wifi列表中是不是看到了 你建的wifi,點擊,輸入密碼等一會就可以了。

教程是美好的,現實是殘酷的。

實際上第二個教程我在第三步建wifi的時候就彈出一個對話框,提示我我的電腦不支持 ap-wifi.

或者是第四步吧,記不清了。

框的內容大概是

(32) Access Point (AP) mode is not supported by this device.

然后中午午覺時間到了,我關閉電腦去睡午覺。

醒來后開機,發現 wifi 列表中有我建的wifi, 點擊之,漫長的等待后竟然連上了。

手機拿出來試試,真的可以建wifi了。


參照:http://ubuntuhandbook.org/index.php/2014/02/wifi-hotspot-ubuntu-laptop-android/

http://ubuntuhandbook.org/index.php/2014/06/share-internet-with-android-ubuntu-1404/

========================

在Ubuntu里禁用不用的桌面:

簡單的說就是在

/usr/share/xsessions/ 里面,

把不想顯示的桌面對應的文件添加下面一句話即可

NoDisplay=true

用來顯示:

Delete `NoDisplay=true' in

/usr/share/xsessions/awesome.desktop

?solves the problem.

====================

安裝軟件時依賴沖突的萬能解決方案

來自:http://tiankonguse.com/record/record.php?id=653

-------------------------

安裝軟件時提示的是什么錯誤信息呢?

安裝的軟件依賴的軟件版本過低.


首先系統怎么知道依賴沖突呢?

應該是每個軟件都寫清楚了自己依賴哪些軟件以及這些軟件的最低版本.


那我們能不能手動修改這些依賴的軟件的版本呢?

如果知道這些信息在哪里儲存,那就可以修改了.

那這些信息在哪里儲存呢?

貌似在 /var/lib/dpkg/status 這個文件里面.


比如我的 vim-common 的信息

Package: vim-common

Status: install ok installed

Priority: important

Section: editors

Installed-Size: 296

Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>

Architecture: i386

Source: vim

Version: 2:7.3.547-6ubuntu3~blueyed1~precise

Depends: libc6 (>= 2.3.4)

Recommends: vim | vim-gnome | vim-gtk | vim-athena | vim-nox | vim-tiny

Conffiles:

/etc/vim/vimrc 682aa2a07693cc27756eee9751db3903

Description: Vi IMproved - Common files

Vim is an almost compatible version of the UNIX editor Vi.

.

Many new features have been added: multi level undo, syntax

highlighting, command line history, on-line help, filename

completion, block operations, folding, Unicode support, etc.

.

This package contains files shared by all non GUI-enabled vim

variants (vim and vim-tiny currently) available in Debian.

Examples of such shared files are: manpages, common executables

like xxd, and configuration files.

Homepage: http://www.vim.org/

Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>


可以看到里面的兩個對我們來說重要的數據

Version: 2:7.3.547-6ubuntu3~blueyed1~precise

Depends: libc6 (>= 2.3.4)


假設我們的 libc6 的版本是 2.3.2 的話,安裝 vim-common 的話機會提示依賴沖突,說需要 libc6 的版本至少是 2.3.4.

此時我們可以做修改了最低依賴版本會怎么樣呢?

比如

Version: 2:7.3.547-6ubuntu3~blueyed1~precise

Depends: libc6 (>= 2.3.2)

這是再次修復竟然成功了,也可以卸載了.

好吧,解決方案就是這個:把依賴的軟件的版本修改為目前安裝的版本即可.

==========================

Linux下man手冊的認識

來源:http://tiankonguse.com/record/record.php?id=183


用Linux要學會使用man info命令

這是最好用的教程

例如:man ls

?man date

?info printf


man細節使用說明

可以使用范圍

1 -- commands

2 -- system calls

3 -- library calls

4 -- special files

5 -- file formats and convertions

6 -- games for Linux

7 -- macro packages and conventions

8 -- system managment commands

9 -- other

中文含義:

1是普通的命令

2是系統調用,如open,write之類的(通過這個,至少可以很方便的查到調用這個函數,需要加什么頭文件)

3是庫函數,如printf,fread

4是特殊文件,也就是/dev下的各種設備文件

5是指文件的格式,比如passwd, 就會說明這個文件中各個字段的含義

6是給游戲留的,由各個游戲自己定義

7是附件還有一些變量,比如向environ這種全局變量在這里就有說明

8是系統管理用的命令,這些命令只能由root使用,如ifconfig

9其他

===========================

Ubuntu安裝nginx

來源:http://tiankonguse.com/record/record.php?id=494

-----------

安裝nginx

sudo apt-get nginx

配置文件簡介

所有的配置文件都在/etc/nginx下,并且每個虛擬主機已經安排在了、etc/nginx/sites-available下

程序文件在/usr/sbin/nginx

日志放在了/var/log/nginx中

并已經在/etc/init.d/下創建了啟動腳本nginx

默認的虛擬主機的目錄設置在了/var/www/nginx-default(有的版本默認的虛擬主機的目錄設置在了/var/www or /usr/share/nginx/html)


安裝FastCgi

nginx本身不能處理php,它只是個web服務器 ,當接收到請求后,如果是php請求,則發給php解釋器處理并把結果返回給客戶端

所以我們還要安裝其他東西以支持我們需要的服務,比如支持FastCgi

/usr/bin/spawn-fcgi這個文件來管理fastcgi,它原屬于lighttpd這個包里面,但現在spawn-fcgi被分離出來單獨成包

sudo apt-get install spawn-fcgi


配置nginx

修改nginx的配置文件:/etc/nginx/sites-available/default修改方機名:

server_name localhost

修改index的一行內容添加index.php:

index index.php index.html index.html

去掉下面部分的注釋用于支持php腳本:

location ~ \.php$ {

? ?include /etc/nginx/fastcgi_params; #需放在第一行,否則會出錯

? ?fastcgi_pass 127.0.0.1:9000;

? ?fastcgi_index index.php;

? ?fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;

}


重啟nginx

/etc/init.d/nginx stop

/etc/init.d/nginx start


啟動fastcgi php:

spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -i www-date -f /usr/bin/php-cgi


為了讓PHP-cgi開機自動啟動

在/etc/rc.local文件中的添加 (加到exit 0前面才行 )

spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -i www-date -f /usr/bin/php-cgi


==================

配置自己的ubuntu編碼

來源:http://tiankonguse.com/record/record.php?id=505

-----------------

支持中英文

sudo vi /var/lib/locales/supported.d/local

修改為:

en_US.UTF-8 UTF-8

zh_CN.UTF-8 UTF-8


默認英文

sudo vi /etc/default/locale

改成:

LANG="en_US.UTF-8"

LANGUAGE="en_US:en_US:en"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_PAPER="zh_CN.UTF-8"

LC_IDENTIFICATION="zh_CN.UTF-8"

LC_NAME="zh_CN.UTF-8"

LC_ADDRESS="zh_CN.UTF-8"

LC_TELEPHONE="zh_CN.UTF-8"

LC_MEASUREMENT="zh_CN.UTF-8"


加載:

source /etc/default/locale


重新加載語言

sudo locale-gen


=====================

ubuntu 命令行管理軟件

來源:http://tiankonguse.com/record/record.php?id=573


1、apt命令管理。


(1)安裝:apt-get install softname1 softname2 …;

(2)修復:apt-get -f install softname1 softname2... ;(-f Atemp to correct broken dependencies)

(3)重新:apt-get --reinstall install softname1 softname2...;

(4) 簡單卸載 : apt-get remove softname1 softname2 …;(配置文件未刪除)

(5) 完全卸載 : apt-get --purge remove softname1 softname2...;(同時清除配置)

(6) 完全卸載2 : apt-get purge sofname1 softname2...;(清除配置文件)


apt常用命令


關于 apt 的命令有很多的,這里只是簡單的記錄一下基本用法。


apt-get install # ------(package 安裝包)

apt-get --reinstall install # -----(package --reinstall 重新安裝包)

apt-get -f install # -----(強制安裝, "-f = --fix-missing"當是修復安裝吧...)

apt-get remove #-----(package 刪除包)

apt-get remove --purge # ------(package 刪除包,包括刪除配置文件等)

apt-get autoremove --purge # ----(package 刪除包及其依賴的軟件包+配置文件等(只對6.10有效,強烈推薦))

apt-get update #------更新源

apt-get upgrade #------更新已安裝的包

apt-get dist-upgrade # ---------升級系統

apt-get dselect-upgrade #------使用 dselect 升級

apt-get build-dep # ------(package 安裝相關的編譯環境)

apt-get source #------(package 下載該包的源代碼)

apt-get clean && apt-get autoclean # --------清理下載文件的存檔 && 只清理過時的包

apt-get check #-------檢查是否有損壞的依賴

apt-cache search # ------(package 搜索包)

apt-cache show #------(package 獲取包的相關信息,如說明、大小、版本等)

apt-cache showpkg #顯示軟件包更多細節,以及和其它包的關系。

apt-cache depends #-------(package 了解使用依賴)

apt-cache rdepends # ------(package 了解某個具體的依賴,當是查看該包被哪些包依賴吧...)

apt-file search filename -----查找filename屬于哪個軟件包

apt-file list packagename -----列出軟件包的內容

apt-file update --更新apt-file的數據庫


2、dpkg方式安裝deb包


(1) 安裝 : dpkg -i package_name.deb

(2) 簡單卸載 : dpkg -r pkg1 pkg2 ...;

(3) 完全卸載 : dpkg -P pkg1 pkg2...;


dpkg擴展知識


dpkg 使用文本文件來作為數據庫.通稱在 /var/lib/dpkg 目錄下. 通稱在 status 文件中存儲軟件狀態,和控制信息. 在 info/ 目錄下備份控制文件, 并在其下的 .list 文件中記錄安裝文件清單, 其下的 .mdasums 保存文件的 MD5 編碼.


dpkg -l 可以顯示包的列表,后面也可以加上搜索的包的名字

每條記錄對應一個軟件包, 注意每條記錄的第一, 二, 三個字符. 這就是軟件包的狀態標識, 后邊依此是軟件包名稱, 版本號, 和簡單描述.


第一字符為期望值,它包括:

u 狀態未知,這意味著軟件包未安裝,并且用戶也未發出安裝請求.

i 用戶請求安裝軟件包.

r 用戶請求卸載軟件包.

p 用戶請求清除軟件包.

h 用戶請求保持軟件包版本鎖定.



第二列,是軟件包的當前狀態.此列包括軟件包的六種狀態.

n 軟件包未安裝.

i 軟件包安裝并完成配置.

c 軟件包以前安裝過,現在刪除了,但是它的配置文件還留在系統中.

u 軟件包被解包,但還未配置.

f 試圖配置軟件包,但是失敗了.

h 軟件包安裝,但是但是沒有成功.



第三列標識錯誤狀態,可以總結為四種狀態. 第一種狀態標識沒有問題,為空. 其它三種符號則標識相應問題.

h 軟件包被強制保持,因為有其它軟件包依賴需求,無法升級.

r 軟件包被破壞,可能需要重新安裝才能正常使用(包括刪除).

x 軟包件被破壞,并且被強制保持.


dpkg的具體使用說明,可以查閱手冊,這里列出基本說明信息。


dpkg --info "軟件包名" --列出軟件包解包后的包名稱.

dpkg -l --列出當前系統中所有的包.可以和參數less一起使用在分屏查看. (類似于rpm -qa)

dpkg -l |grep -i "軟件包名" --查看系統中與"軟件包名"相關聯的包.

dpkg -s 查詢已安裝的包的詳細信息.

dpkg -L 查詢系統中已安裝的軟件包所安裝的位置. (類似于rpm -ql)

dpkg -S 查詢系統中某個文件屬于哪個軟件包. (類似于rpm -qf)

dpkg -I 查詢deb包的詳細信息,在一個軟件包下載到本地之后看看用不用安裝(看一下唄).

dpkg -i 手動安裝軟件包(這個命令并不能解決軟件包之前的依賴性問題),如果在安裝某一個軟件包的時候遇到了軟件依賴的問題,可以用apt-get -f install在解決信賴性這個問題.

dpkg -r 卸載軟件包.不是完全的卸載,它的配置文件還存在.

dpkg -P 全部卸載(但是還是不能解決軟件包的依賴性的問題)

dpkg -reconfigure 重新配置


3、源碼安裝(.tar、tar.gz、tar.bz2、tar.Z)


首先解壓縮源碼壓縮包,可以參考這里ubuntu解壓命令(http://tiankonguse.com/record/record.php?id=495)


然后進入到解壓出的目錄中,建議先讀一下README之類的說明文件


一般依次執行 ./configure; make; sudo make install; ?即可完成安裝。


==========================

ubuntu 命令行安裝 phpmyadmin

來源:http://tiankonguse.com/record/record.php?id=598

--------------

安裝phpmyadmin

sudo apt-get install phpmyadmin

訪問phpmyadmin

php -- /var/www

phpmyadmin -- /usr/share

創建一個鏈接:

sudo ln -s /usr/share/phpmyadmin /var/www



======================

ubuntu 下個目錄的含義

來源:http://tiankonguse.com/record/record.php?id=604

----------------

/bin : bin是binary的縮寫;

/boot :存放啟動Linux時使用的一些核心文件;

/root :root(超級管理員)的用戶主目錄;

/sbin :s就是Super User,存放系統管理員使用的系統管理程序;

/dev :dev是device(設備)的縮寫;這個目錄下是所有Linux的外部設備;

/etc :所有的系統管理所需要的配置文件和子目錄;

/home :用戶的主目錄;

/lib :存放系統最基本的動態鏈接共享庫;幾乎所有的應用程序都需要用到這些共享庫;

/lost+found :這個目錄平時是空的,當系統不正常關機后,一些丟失文件會存放到該目錄下;

/mnt :空目錄,系統提供這個目錄是讓用戶臨時掛載別的文件系統;

/proc :虛擬目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。

/tmp :存放一些臨時文件;

/usr :這是個最龐大的目錄,很多應用程序和文件幾乎都放在這個目錄下;包括以下內容:

? ? /usr/X11R6 :存放X-Windows的目錄;

? ? /usr/bin :存放許多應用程序;

? ? /usr/sbin :存放給超級用戶使用的一些管理程序;

? ? /usr/doc :存放Linux文檔;

? ? /usr/include :Linux下開發和編譯應用程序需要的頭文件;

? ? /usr/lib :存放一些常用的動態鏈接共享庫和靜態檔案庫;

? ? /usr/local :一般用戶的/usr目錄,在這安裝軟件最適合;

? ? /usr/man :幫助文檔目錄;

? ? /usr/src :Linux開放的源代碼就存在這個目錄;

/var :存放那些不斷在擴充著的東西;為了保持/usr的相對穩定,那些經常被修改的目錄可以放在這個目錄下;其中,系統的日志文件就在/var/log目錄中;



轉載于:https://blog.51cto.com/cysky/1435654

總結

以上是生活随笔為你收集整理的学习笔记--2014年7月7日的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。