當前位置:首頁 » 操作系統 » linux調用shell命令

linux調用shell命令

發布時間: 2022-10-06 06:46:38

linux中如何使用Shell,我剛用,都沒找到地方

所謂的shell就是終端。
點從這里開始--系統工具--新建終端。
或者在XWIDOWS桌面裡面直接點右鍵,在右鍵菜單中點新建終端。
我指的是redhatlinux g桌面系統。

❷ linux下java執行shell命令,該怎麼解決

package com.chinasoft;

import java.io.IOException;

public class LiunxEXEjava {
public static void main(String[] args) {
Process process=null;
try {
//path 程序路徑
//exec(shell 命令)
process= Runtime.getRuntime().exec("chmod 777 path");
process.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

process這個類是一個抽象類,封裝了一個進程(你在調用linux的命令或者shell腳本就是為了執行一個在linux下執行的程序,所以應該使用process類)。

process類提供了執行從進程輸入,執行輸出到進程,等待進程完成,檢查進程的推出狀態,以及shut down掉進程。

至於詳細的process類的介紹放在以後介紹。

另外還要注意一個類:Runtime類,Runtime類是一個與JVM運行時環境有關的類,這個類是Singleton的。

這里用到的Runtime.getRuntime()方法是取得當前JVM的運行環境,也是java中唯一可以得到運行環境的方法。(另外,Runtime的大部分方法都是實例方法,也就是說每次運行調用的時候都需要調用到getRuntime方法)

下面說說Runtime的exec()方法,這里要注意的有一點,就是public Process exec(String [] cmdArray, String [] envp);這個方法中cmdArray是一個執行的命令和參數的字元串數組,數組的第一個元素是要執行的命令往後依次都是命令的參數,envp感覺應該和C中的execve中的環境變數是一樣的,envp中使用的是name=value的方式。

❸ linux的系統調用和shell命令式一回事嗎請解釋下

系統調用是程序的事情
shell是人機介面,是你輸入命令的地。
這兩個完全無關。

你在shell裡面輸入命令,shell會根據你的命令執行程序,
執行的程序有可能調用系統的功能。
但是執行系統功能的指令,並不一定是通過shell發出的,
通過shell發出的命令也不一定會執行系統調用。

❹ linux網路操作系統題:計算shell程序的輸出結果

常在程序中通過 system函數來調用shell命令。但是,system函數僅返回命令是否執行成功,而我們可能需要獲得shell命令在控制台上輸出的結果。
例如,執行外部命令ping後,如果執行失敗,我們希望得到ping的返回信息

❺ Linux中shell命令相關問題求助大佬

Linux Shell常用shell命令
一、文件、目錄操作命令
1、ls命令
功能:顯示文件和目錄的信息
ls以默認方式顯示當前目錄文件列表
ls -a 顯示所有文件包括隱藏文件
ls -l 顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執行
ls -lh 顯示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
ls -lt 顯示文件,按照修改時間排序
2、cd命令
功能:改名目錄
cd dir切換到當前目錄下的dir目錄
cd /切換到根目錄
cd ..切換到到上一級目錄
cd ../..切換到上二級目錄
cd ~切換到用戶目錄,比如是root用戶,則切換到/root下
根目錄與家目錄的區別:
根目錄是系統的一級文件結構,家目錄只是非root用戶控制目錄。相當於windows我的文檔,非root用戶只能完會控制家目錄的文件,不能控制根目錄下其它的文件。
根目錄是設備的最頂層目錄,用 / 表示
家目錄是每個用戶登錄系統後所在的目錄,通常在 /home 下,以用戶名作為目錄,可以用 ~ 表示。
cd / 進入根目錄
cd ~/ 進入家目錄
當然,也可以用 /home/someone 進入someone的家目錄

3、cp命令
功能:文件
cp source target將文件source復制為target
cp /root /source .將/root下的文件source復制到當前目錄
eg:cp /home/open_038_dev/external_files/test/test.sh .
cp –av soure_dir target_dir將整個目錄復制,兩目錄完全一樣
4、rm命令
功能:刪除文件或目錄
rm file刪除某一個文件
rm -f file 刪除時候不進行提示。可以於r參數配合使用
rm -rf dir刪除當前目錄下叫dir的整個目錄
5、mv命令
功能:將文件移動走,或者改名,在uinx下面沒有改名的命令,如果想改名,可以使用該命令
mv source target將文件source更名為target
命令參數:
-b :若需覆蓋文件,則覆蓋前先行備份。
-f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
-u :若目標文件已經存在,且 source 比較新,才會更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在後。
實例一:文件改名
命令:
mv test.log test1.txt
實例二:移動文件
命令:
mv test1.txt test3

將文件log1.txt,log2.txt,log3.txt移動到目錄test3中。
mv log1.txt log2.txt log3.txt test3
將文件log1.txt log2.txt log3.txt異動到/opt/soft/test/test4目錄下
mv -t /opt/soft/test/test4/ log1.txt log2.txt log3.txt
移動當前文件夾下的所有文件到上一級目錄
mv * ../
6、diff
功能:比較文件內容
diff dir1 dir2比較目錄1與目錄2的文件列表是否相同,但不比較文件的實際內容,不同則列出
diff file1 file2比較文件1與文件2的內容是否相同,如果是文本格式的文件,則將不相同的內容顯示,如果是二進制代碼則只表示兩個文件是不同的
comm file1 file2比較文件,顯示兩個文件不相同的內容
7、ln命令
功能:建立鏈接。windows的快捷方式就是根據鏈接的原理來做的
ln source_path target_path 硬連接
ln -s source_path target_path 軟連接
ln是linux中又一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這個命令最常用的參數是-s,具體用法是:ln –s 源文件 目標文件。
當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在 其它的目錄下用ln命令鏈接(link)它就可以,不必重復的佔用磁碟空間。例如:ln –s /bin/less /usr/local/bin/less
http://www.cnblogs.com/joeblackzqq/archive/2011/03/20/1989625.html
二、查看文件內容命令
1、cat命令
顯示文件的內容,和DOS的type相同
cat file
2、more命令
功能:分頁顯示命令
morefile
more命令也可以通過管道符(|)與其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令
功能:顯示文件的最後幾行
tail -n 100 aaa.txt 顯示文件aaa.txt文件的最後100行
4、vi命令
vi file編輯文件file
vi 原基本使用及命令:
輸入命令的方式為先按[ESC]鍵,然後輸入:w(寫入文件),:w!(不詢問方式寫入文件),:wq保存並退出,:q退出,q!不保存退出
5、touch命令
功能:創建一個空文件
touch aaa.txt 創建一個空文件,文件名為aaa.txt
三、基本系統命令
1、man命令
功能:查看某個命令的幫助,如果你不知道某個命令的用法不懂,可以問他,他知道就回告訴你
例如:
man ls 顯示ls命令的幫助內容
2、w命令
功能:顯示登錄用戶的詳細信息
例如:
Sarge:~# w
22:06:51 up 43 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
zhoulj pts/0 10.140.0.109 21:24 0.00s 0.85s 0.09s sshd: zhoulj [priv]
3、who命令
功能:顯示登錄用戶
例如:
Sarge:~# who
zhoulj pts/0 Mar 13 21:24 (10.140.0.109)
4、last命令
功能:查看最近那些用戶登錄系統
例如:
Sarge:~# last
zhoulj pts/0 10.140.0.109 Mon Mar 13 21:24 still logged in
reboot system boot 2.6.8-2-386 Mon Mar 13 21:23 (00:43)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - down (00:00)
zhoulj pts/0 10.140.0.105 Sun Mar 12 22:51 - 22:51 (00:00)
root tty1 Sun Mar 12 22:50 - down (00:01)
root tty1 Sun Mar 12 22:46 - 22:48 (00:02)
root tty1 Sun Mar 12 22:43 - 22:46 (00:02)
reboot system boot 2.6.8-2-386 Mon Mar 13 06:34 (-7:-41)
wtmp begins Mon Mar 13 06:34:11 2006
5、date命令
功能:系統日期設定
date顯示當前日期時間
date -s 20:30:30設置系統時間為20:30:30
date -s 2002-3-5設置系統時期為2003-3-5
date -s "060520 06:00:00"設置系統時期為2006年5月20日6點整。
6、clock命令
功能:時鍾設置
clock –r對系統Bios中讀取時間參數
clock –w將系統時間(如由date設置的時間)寫入Bios
7、uname命令
功能:查看系統版本
uname -R顯示操作系統內核的version
例如:
Sarge:~# uname -a
Linux Sarge 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
8、關閉和重新啟動系統命令
reboot 重新啟動計算機
shutdown -r now 重新啟動計算機,停止服務後重新啟動計算機
shutdown -h now 關閉計算機,停止服務後再關閉系統
halt 關閉計算機
一般用shutdown -r now,在重啟系統是,關閉相關服務,shutdown -h now也是如此。
9、su命令
功能:切換用戶
su - 切換到root用戶
su - zhoulj 切換到zhoulj用戶,
注意:- ,他很關鍵,使用-,將使用用戶的環境變數
http://man.linuxde.net/su
四、監視系統狀態命令
1、top命令
功能:查看系統cpu、內存等使用情況
2、free命令
功能:查看內存和swap分區使用情況
例如:
Sarge:~# free -tm
total used free shared buffers cached
Mem: 187 42 145 0 6 16
-/+ buffers/cache: 19 167
Swap: 243 0 243
Total: 430 42 388
3、uptime
功能:現在的時間 ,系統開機運轉到現在經過的時間,連線的使用者數量,最近一分鍾,五分鍾和十五分鍾的系統負載
例如:
Sarge:~# uptime
21:54:46 up 31 min, 1 user, load average: 0.00, 0.00, 0.00
4、vmstat命令
功能:監視虛擬內存使用情況
例如:
# vmstat
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 0 63704 8100 32272 0 0 8 3 103 17 0 1 98 1
5、ps命令
功能:顯示進程信息
ps ux 顯示當前用戶的進程
ps uxwww 顯示當前用戶的進程的詳細信息
ps aux 顯示所有用戶的進程
ps ef 顯示系統所有進程信息
6、kill命令
功能:幹掉某個進程,進程號可以通過ps命令得到
kill -9 1001將進程編號為1001的程序幹掉
kill all -9 apache將所有名字為apapche的程序殺死,kill不是萬能的,對僵死的程序則無效。
五、磁碟操作命令
1、df命令
功能:檢查文件系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等信息。
參數 功能
-a 列出全部目錄
-Ta 列出全部目錄,並且顯示文件類型
-B 顯示塊信息
-i 以i節點列出全部目錄
-h 按照日常習慣顯示(如:1K、100M、20G)
-x [filesystype] 不顯示[filesystype]
例如:
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 ext3 265M 64M 187M 26% /
tmpfs tmpfs 94M 0 94M 0% /dev/shm
/dev/sda6 ext3 714M 8.1M 667M 2% /home
/dev/sda8 ext3 956M 215M 691M 24% /usr
/dev/sda7 ext3 714M 57M 619M 9% /var
2、命令
功能:檢測一個目錄和(遞歸地)所有它的子目錄中的文件佔用的磁碟空間。
參數 功能
-s [dirName] 顯示目錄佔用總空間
-sk [dirName] 顯示目錄佔用總空間,以k為單位
-sb [dirName] 顯示目錄佔用總空間,以b為單位
-sm [dirName] 顯示目錄佔用總空間,以m為單位
-sc [dirName] 顯示目錄佔用總空間,加上目錄統計
-sh [dirName] 只統計目錄大小
例如:
# -sh /etc
1.3M /etc
3、mount命令
功能:使用mount命令就可在Linux中掛載各種文件系統。
格式:mount -t 設備名 掛載點
(1)、mount /dev/sda1 /mnt/filetest
mount -t vfat /dev/hda /mnt/fatfile
mount -t ntfs /dev/hda /mnt/ntfsfile
mount -t iso9660 /dev/cdrom /mnt/cdrom
mount -o 設備名 掛載點
(2)、使用usb設備
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount /mnt/usb
4、mkswap命令
功能:使用mkswap命令可以創建swap空間,如:
debian:~# mkswap -c /dev/hda4
debian:~# swapon /dev/hda4 #啟用新創建的swap空間,停用可使用swapoff命令
5、fdisk命令
功能:對磁碟進行分區
fdisk /dev/xxx 格式化xxx設備(xxx是指磁碟驅動器的名字,例如hdb,sdc)
fdisk -l 顯示磁碟的分區表
6、mkfs命令
功能:格式化文件系統,可以指定文件系統的類型,如ext2、ext3、fat、ntfs等
格式1:mkfs.ext3 options /dev/xxx
格式2:mkfs -t ext2 options /dev/xxx
參數 功能
-b 塊大小
-i 節點大寫
-m 預留管理空間大小
例如:
debian:~#mkfs.ext3 /dev/sdb1
7、e2fsck命令
功能:磁碟檢測
e2fsck /dev/hda1檢查/dev/hda1是否有文件系統錯誤,提示修復方式
e2fsck -p /dev/hda1檢查/dev/hda1是否有錯誤,如果有則自動修復
e2fsck -y /dev/hda1檢查錯誤,所有提問均於yes方式執行
e2fsck -c /dev/hda1檢查磁碟是否有壞區
8、tune2fs命令
功能:調整ext2/ext3文件的參數
參數 功能
-l 查看文件系統信息
-c 設置強制自檢的掛載次數
-i 設置強制自檢的間隔時間,單位天
-m 保留塊的百分比
-j 將ext2文件系統轉換成ext3格式
# tune2fs -l /dev/sda1
9、dd命令
功能:功能:把指定的輸入文件拷貝到指定的輸出文件中,並且在拷貝過程中可以進行格式轉換。
跟DOS下的disk命令的作用類似。
dd if=/dev/fd0 of=floppy.img將軟盤的內容復製成一個鏡像
dd if=floppy.img of=/dev/fd0將一個鏡像的內容復制到軟盤,做驅動盤的時候經常用。
六、用戶和組相關命令
1、groupadd命令
功能:添加組
groupadd test1 添加test1組
groupadd -g 1111 test2 添加test2組,組id為1111
2、useradd命令
功能:添加用戶
useradd user1 添加用戶user1,home為/home/user1,組為user1
useradd -g test1 -m -d /home/test1 test1 添加用戶test1,home為/home/test1,組為test1
user list顯示已登陸的用戶列表
3、passwd命令
功能:更改用戶密碼
passwd user1修改用戶user1的密碼
passwd -d root將root用戶的密碼刪除
4、userdel命令
功能:刪除用戶
userdel user1刪除user1用戶
5、chown命令
功能:改變文件或目錄的所有者
chown user1 /dir將/dir目錄設置為user1所有
chown -R user1.user1 /dir將/dir目錄下所有文件和目錄,設置為user1所有,組為user1。-R遞歸到下面的每個文件和目錄
6、chgrp命令
功能:改變文件或目錄的所有組
chgrp user1 /dir將/dir目錄設置為user1所有
7、chmod命令
功能:改變用戶的許可權
chmod a+x file將file文件設置為可執行,腳本類文件一定要這樣設置一個,否則得用bash file才能執行
chmod 666 file將文件file設置為可讀寫
chmod 750 file 將文件file設置為,所有者為完全許可權,同組可以讀和執行,其他無許可權
8、id命令
功能:顯示用戶的信息,包括uid、gid等
# id zhoulj
uid=500(zhoulj) gid=500(zhoulj) groups=500(zhoulj)
9、finger命令
功能:顯示用的信息
注意:debian下沒有該命令。
# finger zhoulj
Login: zhoulj Name:
Directory: /home/zhoulj Shell: /bin/bash
On since Sun May 21 07:59 (CST) on pts/0 from 192.168.1.4
No mail.
No Plan.
七、壓縮命令
1、gzip格式命令
功能:壓縮文件,gz格式的
注意:生成的文件會把源文件覆蓋
gzip -v 壓縮文件,並且顯示進度
-d 解壓
gunzip -f 解壓縮
例如:
# gzip a.sh
#ll
-rwxr-xr-x 1 root root 71 12月 18 21:08 a.sh.gz
# gzip -d a.sh.gz
#ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
2、zip格式命令
功能:壓縮和解壓縮zip命令
zip
unzip
例如:
將/home/Blinux/html/這個目錄下所有文件和文件夾打包為當前目錄下的html.zip:
zip -q -r html.zip /home/Blinux/html
(-q:不顯示指令執行過程 -r:遞歸處理,將指定目錄下的所有文件和子目錄一並處理)
# zip a.sh.zip a.sh
adding: a.sh (stored 0%)
# ll
-rw-r--r-- 1 root root 188 5月 21 10:37 a.sh.zip
# unzip a.sh.zip
Archive: a.sh.zip
replace a.sh? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: a1.sh
extracting: a1.sh
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a1.sh
3、bzip2根式命令
功能:bzip2格式壓縮命令,
注意:生成的文件會把源文件覆蓋
bzip2
bunzip2
例如:
# bzip2 a.sh
# ll
-rwxr-xr-x 1 root root 85 12月 18 21:08 a.sh.bz2
# bunzip2 a.sh.bz2
# ll
-rwxr-xr-x 1 root root 48 12月 18 21:08 a.sh
4、tar命令
功能:歸檔、壓縮等,比較重要,會經常使用。
-cvf 壓縮文件或目錄
-xvf 解壓縮文件或目錄
-zcvf 壓縮文件或,格式tar.gz
-zxvf 解壓縮文件或,格式tar.gz
-zcvf 壓縮文件或,格式tgz
-zxvf 解壓縮文件或,格式tgz
舉例:
# tar cvf abc.tar *.sh
# tar xvf abc.tar
# tar czvf abc.tar.gz *.sh
# ll
-rw-r--r-- 1 root root 20480 5月 21 10:50 abc.tar
-rw-r--r-- 1 root root 1223 5月 21 10:53 abc.tar.gz
# tar xzvf abc.tar.gz

八、網路相關命令
1、ifconfig命令
功能:顯示修改網卡的信息
ifconfig 顯示網路信息
ifconfig eth0 顯示eth0網路信息
修改網路信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 設置網卡1的地址192.168.1.1,掩碼為255.255.255.0
ifconfig eth0:1 192.168.1.2 捆綁網卡1的第二個地址為192.168.1.2
ifconfig eth0:x 192.168.1.n 捆綁網卡1的第n個地址為192.168.1.n
例如:
# ifconfig eth0:1 192.168.1.11
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.5 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4220 errors:0 dropped:0 overruns:0 frame:0
TX packets:3586 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:342493 (334.4 Kb) TX bytes:469020 (458.0 Kb)
Interrupt:9 Base address:0x1400
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:06:9C:24
inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:9 Base address:0x1400
2、route命令
功能:顯示當前路由設置情況
route 顯示當前路由設置情況,比較慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加靜態路由
route add default gw 192.168.1.1 metric1 設置192.168.1.1為默認的路由
route del default 將默認的路由刪除
舉例:
# route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.0.0.0 192.168.1.254 255.255.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
# route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
3、netstat命令
功能:顯示網路狀態
netstat -an 查看網路埠信息
netstat -nr 查看路由表信息,比route快多了,
4、啟動網路的命令
redhat族的命令:
/etc/init.d/network
debian命令:
/etc/init.d/networking
例如:
/etc/init.d/network stop 停止網路,
/etc/init.d/network start 啟動網路,
5、手工修改網路配置
(1)、debian系統
配置文件位置為:/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0 eth1
iface eth0 inet static
address 10.4.5.6
netmask 255.255.255.0
network 10.4.5.0
broadcast 10.4.5.255
iface eth1 inet static
address 219.25.5.60
netmask 255.255.255.192
network 219.25.5.0
broadcast 219.25.5.63
gateway 219.25.5.30
修改後保存配置後,運行
/etc/init.d/networking restart
網路配置就改變了
(2)、redhat系統
配置文件位置為:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.5
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.254
ONBOOT=yes
TYPE=Ethernet
修改後保存配置後,運行
/etc/init.d/network restart
或者
service network restart
網路配置就改變了。
默認DNS的文件的位置為:/etc/resolv.conf
#cat /etc/resolv.conf
search test.com.cn
nameserver 192.168.1.11
6、網路排錯
(1)、ping命令
功能:不說了,不知道就用干這行了。
ping
(2)、traceroute命令
功能:路由跟蹤
traceroute
traceroute 207.68.173.7
(3)、nslookup命令
功能:域名解析排錯
例如:
$ nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>
Server: 192.168.1.11
Address: 192.168.1.11#53
Non-authoritative answer:
Name:
Address: 202.118.66.66
> server 202.118.66.6
Default server: 202.118.66.6
Address: 202.118.66.6#53
>
Server: 202.118.66.6
Address: 202.118.66.6#53
Non-authoritative answer: canonical name =
.
Name:
Address: 202.108.22.5
九、其他命令
1、ssh命令
功能:遠程登陸到其他UNIX主機
ssh -l user1 192.168.1.2 使用用戶名user1登陸到192.168.1.2
ssh
使用用戶名user1登陸到192.168.1.2
2、scp命令
功能:安全
例如:
scp abc.tar.gz
:~ 將本地的abc.tar.gz 復制到 192.168.1.5的user1用戶的根(/home/user1)下。
3、telnet命令
功能:登陸到遠程主機
例如:
telnet 192.168.1.5
————————————————
版權聲明:本文為CSDN博主「Sunshine~L&H」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/LH0912666/article/details/87897629

❻ linux常用的shell有哪些

最常用的當然是bash這個shell了,不需要多說,因為大部分Linux發行版都默認是這個shell;還有C shell用戶也很多,因為它的語法和c語言有點像;還有一個ash,念做A Shell,在智能路由器系統OpenWrt、LEDE上作為默認shell,話說玩路由器Linux系統OpenWrt的也不少啊,好多硬體論壇上都知道這個系統,所以ash也算是常用的Linux shell吧。

❼ linux 怎麼進入shell編程模式

1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。

❽ linux怎麼進入shell命令窗口

進入控制台就進入了SHELL命令窗口了
使用Ctrl + Alt +T命令可以進入控制台。

❾ linux下如何用c語言調用shell命令

參數type可使用「r」代表讀取,「w」代表寫入。依照此type值,popen()會建立管道連到子進程的標准輸出設備或標准輸入設備,然後返回一個文件指針。隨後進程便可利用此文件指針來讀取子進程的輸出設備或是寫入到子進程的標准輸入設備中。此外,所有使用文件指針(FILE*)操作的函數也都可以使用,除了fclose()以外。 返回值:若成功則返迴文件指針,否則返回NULL,錯誤原因存於errno中。 注意:在編寫具SUID/SGID許可權的程序時請盡量避免使用popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。 例:C程序popentest.c內容如下: #include main() { FILE * fp; charbuffer[80]; fp=popen(「~/myprogram/test.sh」,」r」); fgets(buffer,sizeof(buffer),fp); printf(「%s」,buffer); pclose(fp); } 執行結果如下: xiakeyou@ubuntu:~/myprogram$ vim popentest.c xiakeyou@ubuntu:~/myprogram$ gcc popentest.c -o popentest xiakeyou@ubuntu:~/myprogram$ ./popentest /home/d/e/xiakeyou xiakeyou@ubuntu:~/myprogram$ 只是偶能力可能有點有限,沒有太看懂。直接用system()倒是腳本可是執行,只是返回值卻是一塌糊塗,試了多次也沒有找到什麼規律。不免又看了一下上面的那篇博文,得到一些啟發,可以這樣來實現: 先將腳本的返回值利用 echo > XXXXX 輸出到一個本地文件中 當需要這個返回值是,可是通過C語言的文件操作函數來直接從文件中讀取 後來一想,這應該就是上文中POPEN的實現方法! C程序調用shell腳本共有三種法子 :system()、popen()、exec系列函數 system() 不用你自己去產生進程,它已經封裝了,直接加入自己的命令exec 需要你自己 fork 進程,然後exec 自己的命令 popen() 也可以實現執行你的命令,比system 開銷小 1)system(shell命令或shell腳本路徑); system()會調用fork()產生 子歷程,由子歷程來調用/bin/sh-c string來履行 參數string字元串所代表的命令,此命令履行 完後隨即返回原調用的歷程。在調用system()期間SIGCHLD 信號會被暫時擱置,SIGINT和SIGQUIT 信號則會被漠視 。 返回值:如果system()在調用/bin/sh時失敗則返回127,其他失敗原因返回-1。若參數string為空指針(NULL),則返回非零值。 如果 system()調用成功 則最後會返回履行 shell命令後的返回值,但是此返回值也有可能為system()調用/bin/sh失敗所返回的127,因 此最好能再反省 errno 來確認履行 成功 。 system命令以其簡略 高效的作用得到很很廣泛 的利用 ,下面是一個例子 例:在~/test/目錄下有shell腳本test.sh,內容為 #!bin/bash #test.sh echo hello 在同層目錄下新建一個c文件system_test.c,內容為: #include int main() { system("~/test/test.sh"); } 履行 效果 如下: [root@localhost test]$gcc system_test.c -o system_test [root@localhost test]$./system_test hello [root@localhost test]$ 2)popen(char *command,char *type) popen()會調用fork()產生 子歷程,然後從子歷程中調用/bin/sh -c來履行 參數command的指令。參數type可應用 「r」代表讀取,「w」代表寫入。遵循此type值,popen()會建立 管道連到子歷程的標准 輸出設備 或標准 輸入設備 ,然後返回一個文件指針。隨後歷程便可利用 此文件指針來讀取子歷程的輸出設備 或是寫入到子歷程的標准 輸入設備 中。此外,所有應用 文 件指針(FILE*)操作的函數也都可以應用 ,除了fclose()以外。 返回值:若成功 則返迴文件指針,否則返回NULL,差錯 原因存於errno中。

❿ 如何運行linux shell程序

如何運行shell程序,如何在shell程序以及後續腳本中使用同一個變數,這些在工作中經常用到, 我找到如下的文章,再加深復習一下。
1 source命令用法:
source FileName
作用:在當前bash環境下讀取並執行FileName中的命令。該filename文件可以無"執行許可權"
註:該命令通常用命令「.」來替代。
如:source .bash_profile
. .bash_profile兩者等效。
source(或點)命令通常用於重新執行剛修改的初始化文檔。
source命令(從 C Shell 而來)是bash shell的內置命令。
點命令,就是個點符號,(從Bourne Shell而來)。
source的程序主體是bash,腳本中的$0變數的值是bash,而且由於作用於當前bash環境,腳本中set的變數將直接起效

2 sh, bash的命令用法:
sh/bash FileName

作用:打開一個子shell來讀取並執行FileName中命令。該filename文件可以無"執行許可權"

註:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本並行地,有效率地地同時運行腳本內的多個子任務.
在ubuntu中sh只是bash的一個鏈接。
由於是在子shell中執行,腳本設置的變數不會影響當前shell。

3 ./的命令用法:
./FileName
作用:打開一個子shell來讀取並執行FileName中命令。該filename文件需要"執行許可權"
註:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本並行地,有效率地地同時運行腳本內的多個子任務.
由於是在子shell中執行,腳本設置的變數不會影響當前shell。

4 export:
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本
5. 舉例
比如您在一個腳本里export $KKK=111 ,假如您用./a.sh執行該腳本,執行完畢後,您運行 echo $KKK ,發現沒有值,假如您用source來執行 ,然後再echo ,就會發現KKK=111。因為調用./a.sh來執行shell是在一個子shell里運行的,所以執行後,結構並沒有反應到父shell里,但是 source不同他就是在本shell中執行的,所以能夠看到結果.
小測試
1 建立test.sh
#!/bin/bash
export s=/home/jboss/
2 執行命令: source test.sh
echo $s
結果輸出: /home/jboss/
3 新開個shell
執行命令: ./test.sh
echo $s
結果: 沒有輸出s值

結論:
1、執行腳本時是在一個子shell環境運行的,腳本執行完後該子shell自動退出。
2、一個shell中的系統環境變數才會被復制到子shell中(用export定義的變數);
3、一個shell中的系統環境變數只對該shell或者它的子shell有效,該shell結束時變數消失(並不能返回到父shell中)。3、不用 export定義的變數只對該shell有效,對子shell也是無效的。

直接執行一個腳本文件是在一個子shell中運行的,而source則是在當前shell環境中運行的。
source可以讓腳本影響它們的父shell環境,這和export去影響子shell環境相反.

熱點內容
訪問在哪兒 發布:2024-04-20 16:20:42 瀏覽:200
安卓手機有什麼可以把聲音改成電音的軟體 發布:2024-04-20 16:19:40 瀏覽:563
uc瀏覽器怎麼緩存視頻 發布:2024-04-20 16:10:44 瀏覽:80
邏輯錯誤預編譯可以檢查出來嗎 發布:2024-04-20 15:58:28 瀏覽:1000
mc中國版伺服器地址 發布:2024-04-20 15:33:13 瀏覽:411
手機修改wifi密碼網站是什麼 發布:2024-04-20 15:22:05 瀏覽:323
js源碼下載 發布:2024-04-20 15:05:16 瀏覽:20
編譯翻譯的區別 發布:2024-04-20 14:55:53 瀏覽:894
登錄之後qq密碼要在哪裡看 發布:2024-04-20 14:55:03 瀏覽:731
天龍多開腳本 發布:2024-04-20 14:53:05 瀏覽:771