『壹』 linux spawn命令
spawn是進入expect環境後才可以執行的expect內部命令。expect是一種腳本語言,它能夠代替我們實現與終端的交互,我們不必再守候在電腦旁邊輸入密碼,或是根據系統的輸出再運行相應的命令。
如果沒有裝expect或者空亂直接在默認的SHELL下執行是找不到spawn命令的。所以不要用 「which spawn「之類的命令去找spawn命令。好比windows里的dir就是悔虧斗一個內部命令,這個命令由shell自帶,用戶無法找到一個dir.com或dir.exe的可執行文件。它主要的功能是給運行進程加個殼,用來傳遞交互指令。
(1)linuxspawn安裝yum擴展閱讀碧磨:
下面是一個能用來實現自動執行該命令的Expect腳本:
#!/usr/bin/expect
# Change a login shell to tcsh
set user [lindex $argv 0]
spawn chsh $user
expect "]:"
send "/bin/tcsh "
expect eof
exit
和其他腳本一樣首行指定用來執行該腳本的命令程序,這里是/usr/bin/expect。程序第一行用來獲得腳本的執行參數(其保存在數組$argv中,從0號開始是參數),並將其保存到變數user中。
第二個參數使用Expect的spawn命令來啟動腳本和命令的會話,這里啟動的是chsh命令,實際上命令是以衍生子進程的方式來運行的。
『貳』 linux expect講解怎麼使用
[root@zuozhang PYTHON_TEST]# rpm -ql expect package expect is not installed 查看是否有安裝,如果沒有安裝安裝一個即可。 yum install expect*
『叄』 如何在LINUX中給一塊網卡綁定兩個IP地址
Linux的網路設備配置文件存放在/etc/sysconfig/network-scripts裡面,對於乙太網的第一個網路設備,配版置文件名一般為 ifcfg-eth0 如果需權要為第一個網路設備綁定多一個IP地址,只需要在/etc/sysconfig/network-scripts目錄裡面創建一個名為ifcfg-eth0:0的文件,內容樣例為: DEVICE="eth0:0" IPADDR="211.100.10.11Array" NETMASK="255.255.255.0" ONBOOT="yes" 其中的DEVICE為設備的名稱,IPADDR為此設備的IP地址,NETMASK為子網掩碼,ONBOOT表示在系統啟動時自動啟動。 如果需要再綁定多一個IP地址,只需要把文件名和文件內的DEVICE中的eth0:x加一即可。
『肆』 為何Linux環境不能雙擊安裝軟體
綜合來看,廣大cber尤其是喜歡評論的cber對Linux理解的還比較少,而且很多都是跟Windows做比較(當然這里我承認高手也大有人在),所以我想在這里有必要說一下為什麼Linux到現在也不能做到雙擊安裝軟體。 首先要說一下,很多Linux的發行版例如Ubuntu或者CentOS、Fedora等,已經早就可以雙擊安裝自己發行版的安裝包了,例如deb、rpm等。 其實,Linux下跟Windows的軟體發布有一個最大的不同就是Linux下大部分軟體都是開源的,只提供源碼下載,不提供編譯好的二進制下載。所以,上面的三個命令實際上是編譯一個軟體,然後拷貝到系統對應目錄,准確來說不是安裝。 主要還是跨平台和定製化的考慮。我們知道Linux發行版眾多,Linux支持的平台也很多,從使用最多的x86到arm,solaris等,所以這個。/configure腳本可以支持很多編譯參數,從而讓軟體支持幾乎所有的硬體平台。 另外稍微學過軟體工程的都知道,軟體開發都是模塊化的,通過。/configure命令加上合理參數,可以不編譯不需要的模塊,比如最常用的php,自帶幾十個模塊,通常我們需要哪個編譯哪個好了。 有人可能說Windows安裝軟體也能選擇性安裝,我可以不安裝我不需要的模塊。 其實,Windows就算你不安裝你選擇的模塊,那也只是這個模塊不安裝。而主程序的模塊訪問是編譯好的,他只不過能自動判斷這個模塊不存在就不載入罷了。 另外,Linux很多模塊是通用的,這就是依賴關系,舉例來說要用php的iconv功能,就需要系統安裝libiconv庫,而不同的電腦的libiconv庫安裝路徑不同,所以需要通過。/configure的參數指定你電腦的libiconv安裝路徑是多少,php才能順利編譯通過。Windows則是必須在C:WindowsSystem32下,可定製化太差了。 因為有些時候,我們只需要一個軟體包裡面的某個動態鏈接庫,而不是整個程序。比如我們經常需要lighttpd中的spawn-fcgi,所以我們不必安裝lighttpd,而是直接編譯完,得到其中的spawn-fcgi即可。 最後,make install就是把編譯好的二進制文件和鏈接庫、配置文件等復制到系統的各個目錄即可,安裝完成。
『伍』 為什麼linux 輸入「make"命令不能執行
這是因為你沒有安裝make編譯工具,yum -y installmake安裝一下就可以執行。Linux操作系統是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
拓展:
1、Linux操作系統是UNIX操作系統的一種克隆系統,它誕生linux系統於1991 年的10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。
2、Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。它主要用於基於Intel x86系列CPU的計算機上。這個系統是由全世界各地的成千上萬的程序員設計和實現的。其目的是建立不受任何商品化軟體的版權制約的、全世界都能自由使用的Unix兼容產品。
『陸』 怎樣在centos上手動安裝配置lnmp環境
在centos上手動安裝配置lnmp環境的方法
一、安裝所需的庫文件和編譯環境
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
二、安裝PHP和MySQL
yum -y install php mysql mysql-server mysql-devel php-mysql php-cgi php-mbstring php-gd php-fastcgi
service mysqld start //啟動mysql服務
chkconfig mysqld on //設置開機自動啟動
三、安裝nginx,由於CentOS沒有默認的nginx軟體包,需要啟用REHL的附件
1. rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
2. yum -y install nginx
chkconfig nginx on //設置開機啟動
service nginx start //啟動ngin服務
四、安裝spawn-fcgi來運行php-cgi //spawn-fcgi是用來調用php提供動態php格式的網頁
yum install spawn-fcgi
五、下載spawn-fcgi 的啟動腳本
1. wget http://bash.cyberciti.biz/dl/419.sh.zip //這是別人寫好的腳本,直接拿來用
2. unzip 419.sh.zip
3. mv 419.sh /etc/init.d/php_cgi
4. chmod +x /etc/init.d/php_cgi
/etc/init.d/php_cgi start //啟動php_cgi
1. netstat -tulpn | grep :9000 //查看進程,查看服務有沒有正常啟動,若出現如下代表一切正常
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4352/php-cgi
六、配置nginx
vim /etc/nginx/nginx.conf //下面就是修改nginx.conf配置文件
user nginx //修改ngin守護進程的用戶
worker_processes 4; //工作進程數,一般與 CPU 核數等同,但實際的可以多一些
error_log logs/error.log; //錯誤日誌位置
events {
worker_connections 2048;#每個工作進程允許最大的同時連接數,可以稍微大一些,1024的倍數
}
gzip on;
server {
listen 80;
server_name 192.168.175.208; //nginx伺服器地址
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; //這里SCRIPT_FILENAME後面指定的是nginx的網站目錄
include fastcgi_params;
}
把前面注釋全部去掉,找到
location / {
root /html;
index index.php index.html index.htm;
}
修改為如上所示 主要是添加index 後面的index.php
七、編寫腳本,測試nginx與php有沒有結合
vim /usr/share/nginx/html/index.php
<?php
phpinfo
?>
最後通過瀏覽器訪問伺服器測試是否成功,出現php信息頁面表示成功。
下面是我工作過程中遇到的一個問題。原來伺服器上安裝的有apache伺服器。但是現在要把圖片伺服器換成nginx,圖片伺服器裡面網頁跳轉的就不管用的。查找資料發現apache的rewrite規則需要轉換成nginx識別的規則才行,通過下面的網頁轉換後,在nginx.conf中添加
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ //先轉換原來的.htpaccess
然後在nginx.conf 中的server里添加這行內容,指定你的htaccess所在的位置
include /var/www/html/webshop/web/.htaccess;
小剛SEO為你解答