導航:首頁 > 操作系統 > linuxpn

linuxpn

發布時間:2022-08-23 08:09:04

㈠ 請問linux版本中有一版本的標志好像是小腳的樣子,那個是什麼版本,求全名

小腳是Gnome的logo吧。
GNOME計劃提供了兩個東西:GNOME桌面環境,一個對最終用戶來說符合直覺並十分吸引人的桌面;還有GNOME開發平台,一個能使開發的應用程序與桌面其它部分集成的可擴展框架。GNOME桌面主張簡單、好用和恰到好處,因此GNOME開發中有兩點很突出:
一般一個產品的商標怎麼能讓你隨便改呢,你說是吧,呵呵,下面是具體信息:
http://ke..com/view/281766.htm

㈡ linux的安裝和使用

安裝時不想把引導安入mbr里怎麼做?
可以不把引導裝入mbr里的,不過不知道你現有的知識積累怎麼樣.
首先,安裝linux的時候不要先裝grub,一般的linux發行版可能裝完就直接把mbr寫掉了~~
然後你要明確,如果失敗,那麼你的linux將進不去,需要修復,修復也不太復雜,這是後話,不過先提醒一下.

好啦,下面開始講方法:

思路是這樣的:不讓grub改寫MBR,而把grub塞到windows的bootloader中。

以我自己安裝系統為例說明一下,我的本本是X60,linux的boot分區是/dev/sda8,windows的系統盤是C盤。你需要根據自己的情況作一些變動。

方法是這樣的:
1、不要讓grub寫到MBR中,而讓它與入其他分區,比如boot分區
# grub-install --no-floppy /dev/sda8
2、把這個分區的前面512個位元組mp出來
# dd if=/dev/sda8 of=gentoo_grub.bin bs=512 count=1
3、把生成的gentoo_grub.bin通過隨便什麼手段弄到C盤根目錄下
4、更改C盤根目錄下的boot.ini
我的更改完了是這樣的:
[boot loader]
timeout=30
default=c:\gentoo_grub.bin
[operating systems]
c:\gentoo_grub.bin="Gentoo Grub Bootloader"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

好啦!這樣就可以了。

不設置固定ip可以么?
當然可以,ip可以隨便改的。

㈢ Linux怎麼修改VNC埠號

vnc的默認埠是自己配置的,並不是這有一個埠號。
通過打開/etc/sysconfig/vncservers。 這里就配置了2個桌面,一個桌面號是1, 一個是2.
這里的配置的參數

VNCSERVERS="2:root" VNCSERVERARGS[2]="-geometry 1280x800"

就可以看出,這里就配置了2個桌面,一個桌面號是1, 一個是2.還有遠程桌面的解析度

想要修改vncserver的配置,先找配置文件路徑
[root@jtsyb01 longrise]# which vncserver /usr/bin/vncserver

然後看看這個配置文件的類型,

[root@jtsyb01 longrise]# file /usr/bin/vncserver /usr/bin/vncserver: a /usr/bin/env perl script text executable

然後可以了解到的基本信息是可以通過text類型文件

通過查找以前配置的埠,我這邊配置的是80埠
[root@jtsyb01 longrise]# grep "80" /usr/bin/vncserver -n 84: "xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &n". 222:$vncPort = 8001 + $displayNumber; 419: if (!bind(S, pack('S n x12', $AF_INET, 8001 + $n))) {

通過終端可以看到我這邊以前的是8001埠為基礎埠,通過修改222行的vncport和419行的數字8001,修改之後保存文件

重啟vncserver服務,就成功修改了vnc的埠號了
最後可以查看埠情況:
[root@jtsyb01 longrise]# ps -ef|grep vnc root 17134 1 0 May23 ? 00:13:00 /usr/bin/Xvnc :1 -desktop jtsyb01:1 (longrise) -auth /root/.Xauthority -geometry 1024x768 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 8002 -fp catalogue:/etc/X11/fontpath.d -pn

可以查看埠運行的是8002埠。

㈣ 如何在Linux系統上使用PNEdit文本編輯器

第一步:到官網下載工具壓縮包PNEdit_v2020.12.tar.gz。

第二步:將壓縮包PNEdit_v2020.12.tar.gz上傳到Linux操作系統上(一般放在裝工具的路徑下),然後用命令 「tar -zxvf PNEdit_v2020.12.tar.gz」 將壓縮包解壓

第三步:在工具包中有一個pn.cshrc文件,打開將環境變數名 「PNEDIT_PATH」 後面的路徑改成你當前這個PNEdit工具包所在的路徑。

第四步:用命令 「source pn.cshrc」,工具就配置成功了。

第五步:PNEdit工具的命令就一個 「pnedit」,直接敲這個命令即可啟動PNEdit工具了。

㈤ linux下學膙pn怎麼連

本文的vpn server為pptpd.客戶端為ubuntu文字模式連接
1.安裝client
sudo apt-get install pptp-linux
2.連接vpn server
sudo pptpsetup --create pptpd --server x.x.x.x --username zhangll --password lsanotes --encrypt --start
註:
–create是創建的連接名稱
–server是vpn的ip地址;
–username是用戶名
–password是密碼,也可以沒這個參數,命令稍後會自動詢問。這樣可以保證賬號安全
–encrypt 是表示需要加密,不必指定加密方式,命令會讀取配置文件中的加密方式
–start是表示創建連接完後馬上連接
(如果不寫這個–start參數要連接剛才定義好的vpn只能用 sudo pon lsavpn,斷開用sudo poff) .

androidpn 能部署到linux上嗎

1、首先需要在linux伺服器上配置java環境,如安裝jdk+tomcat

2、配置完成jdk+tomcat環境後,需要把你的java項目復制到tomcat的webapps下

3、復制到tomcat的webapps後,重啟tomcat,然後訪問http://ip:8080/項目名,瀏覽驗證java項目
4、安裝jdk+tomcat環境如下:
1)下載JDK(下面分別是32位系統和64位系統下的版本)
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz?AuthParam=1350717577_ #32位
http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.rpm?AuthParam=1350717726_ #64位
# getconf LONG_BIT # 查看系統多少位
2) 安裝JDK7.0版本
先卸載伺服器自帶的jdk軟體包
# java -version #查看伺服器是否安裝過jdk
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-i386)
OpenJDK Client VM (build 14.0-b16, mixed mode)
# rpm -qa |grep gcj #查看伺服器安裝的jdk軟體包信息
libgcj-4.4.4-13.el6.i686
java-1.5.0-gcj-1.5.0.0-29.1.el6.i686
# yum -y remove java-1.5.0-gcj-1.5.0.0-29.1.el6.i686 #卸載軟體包

安裝jdk7.0
解壓配置安裝
# mkdir -p /usr/lib/jvm
# tar zxvf jdk-7u9-linux-i586.tar.gz -C /usr/lib/jvm
# mv /usr/lib/jvm/jdk1.7.0_09 /usr/lib/jvm/java7

添加jdk7.0到系統環境變數
#cp /etc/profile /etc/profile.bak #備份
#vi /etc/profile #編輯,在最後添加下面的內容
export JAVA_HOME=/usr/lib/jvm/java7
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#source /etc/profile #使配置文件立即生效
由於系統中可能會有默認的其他版本JDK,所以,為了將我們安裝的JDK設置為默認JDK版本,還要進行如下工作。
update-alternatives --install /usr/bin/java java /usr/lib/jvm/java7/bin/java 300
update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java7/bin/javac 300
update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java7/bin/jar 300
update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java7/bin/javah 300
update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java7/bin/javap 300
執行下面命令,設置默認版本,此命令執行後,系統會列出當前存在的各種JDK版本,會提示你選擇
# update-alternatives --config java

測試
# java -version # 測試是否成功

下載並啟動tomcat

1
2
3
4
5
6

# cd /data 進入你放置的目錄
# wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.56/bin/apache-tomcat-7.0.56.tar.gz
# tar -zxv -f apache-tomcat-7.0.56.tar.gz
# mv apache-tomcat-7.0.56 /usr/local/tomcat7
# chmod 755 -R /usr/local/tomcat7/
# /usr/local/tomcat7/bin/startup.sh

㈦ 西部數據移動硬碟PN怎麼看容量

以windows10為例,在桌面上找到此電腦圖標,在圖標上點右鍵,選擇管理。

1、在打開的管理窗口中,點擊右邊下方的磁碟管理選項。
2、稍等片刻,系統自動載入安裝的所有硬碟信息,就能看到你電腦上安裝的硬碟數量以及硬碟容量了。
3、然後查看linux系統上的硬碟容量,首先通過shell工具登陸到linux系統上。
4、然後查看系統上有幾塊硬碟,命令是:ls /dev/sd*。
5、然後執行命令:gdisk /dev/sda,但是這個新裝的系統沒有這個命令,需要手動安裝。命令是:yum install gdisk -y。
6、安裝完成後,再執行gdisk /dev/sda,就能夠進入到gdisk的互動式界面,會顯示出硬碟的對應信息。然後在互動式頁面中輸入子命令p,同時還會在最下方顯示各個分區佔用的容量大小。這就是Linux系統上硬碟容量的查看方式。

㈧ 求助在linux下用c語言取得雙網卡的網關地址

多給我來點財富值哦:

[code=C/C++]
#define RTF_UP 0x0001
#define RTF_GATEWAY 0x0002
#define RTF_HOST 0x0004
#define _PATH_PROCNET_ROUTE "/proc/net/route"

struct addr {
struct sockaddr_in addr;
char *name;
int host;
struct addr *next;
};

static struct addr *INET_nn = NULL; /* addr-to-name cache */

struct aftype {
char *name;
char *title;
int af;
int alen;
char *(*print) (unsigned char *);
char *(*sprint) (struct sockaddr *, int numeric);
int (*input) (int type, char *bufp, struct sockaddr *);
void (*herror) (char *text);
int (*rprint) (int options);
int (*rinput) (int typ, int ext, char **argv);

/* may modify src */
int (*getmask) (char *src, struct sockaddr * mask, char *name);

int fd;
char *flag_file;
};
struct aftype inet_aftype;

struct sockaddr snet_gateway;

char *proc_gen_fmt(char *name, int more, FILE * fh,...)
{
char buf[512], format[512] = "";
char *title, *head, *hdr;
va_list ap;

if (!fgets(buf, (sizeof buf) - 1, fh))
return NULL;
strcat(buf, " ");

va_start(ap, fh);
title = va_arg(ap, char *);
for (hdr = buf; hdr;) {
while (isspace(*hdr) || *hdr == '|')
hdr++;
head = hdr;
hdr = strpbrk(hdr, "| \t\n");
if (hdr)
*hdr++ = 0;

if (!strcmp(title, head)) {
strcat(format, va_arg(ap, char *));
title = va_arg(ap, char *);
if (!title || !head)
break;
} else {
strcat(format, "%*s"); /* XXX */
}
strcat(format, " ");
}
va_end(ap);

if (!more && title) {
fprintf(stderr, "warning: %s does not contain required field %s\n",
name, title);
return NULL;
}
return strp(format);
}

static int INET_getsock(char *bufp, struct sockaddr *sap)
{
char *sp = bufp, *bp;
unsigned int i;
unsigned val;
struct sockaddr_in *sin;

sin = (struct sockaddr_in *) sap;
sin->sin_family = AF_INET;
sin->sin_port = 0;

val = 0;
bp = (char *) &val;
for (i = 0; i < sizeof(sin->sin_addr.s_addr); i++) {
*sp = toupper(*sp);

if ((*sp >= 'A') && (*sp <= 'F'))
bp[i] |= (int) (*sp - 'A') + 10;
else if ((*sp >= '0') && (*sp <= '9'))
bp[i] |= (int) (*sp - '0');
else
return (-1);

bp[i] <<= 4;
sp++;
*sp = toupper(*sp);

if ((*sp >= 'A') && (*sp <= 'F'))
bp[i] |= (int) (*sp - 'A') + 10;
else if ((*sp >= '0') && (*sp <= '9'))
bp[i] |= (int) (*sp - '0');
else
return (-1);

sp++;
}
sin->sin_addr.s_addr = htonl(val);

return (sp - bufp);
}static int INET_resolve(char *name, struct sockaddr_in *sin, int hostfirst)
{
struct hostent *hp;
struct netent *np;

/* Grmpf. -FvK */
sin->sin_family = AF_INET;
sin->sin_port = 0;

/* Default is special, meaning 0.0.0.0. */
if (!strcmp(name, "default")) {
sin->sin_addr.s_addr = INADDR_ANY;
return (1);
}
/* Look to see if it's a dotted quad. */
if (inet_aton(name, &sin->sin_addr)) {
return 0;
}
#ifdef EMBED
return(-1);
#else
/* If we expect this to be a hostname, try hostname database first */
#ifdef DEBUG
if (hostfirst) fprintf (stderr, "gethostbyname (%s)\n", name);
#endif
if (hostfirst &&
(hp = gethostbyname(name)) != (struct hostent *) NULL) {
memcpy((char *) &sin->sin_addr, (char *) hp->h_addr_list[0],
sizeof(struct in_addr));
return 0;
}
/* Try the NETWORKS database to see if this is a known network. */
#ifdef DEBUG
fprintf (stderr, "getnetbyname (%s)\n", name);
#endif
if ((np = getnetbyname(name)) != (struct netent *) NULL) {
sin->sin_addr.s_addr = htonl(np->n_net);
return 1;
}
if (hostfirst) {
/* Don't try again */
errno = h_errno;
return -1;
}
#ifdef DEBUG
res_init();
_res.options |= RES_DEBUG;
#endif

#ifdef DEBUG
fprintf (stderr, "gethostbyname (%s)\n", name);
#endif
if ((hp = gethostbyname(name)) == (struct hostent *) NULL) {
errno = h_errno;
return -1;
}
memcpy((char *) &sin->sin_addr, (char *) hp->h_addr_list[0],
sizeof(struct in_addr));

return 0;
#endif
}

static int INET_input(int type, char *bufp, struct sockaddr *sap)
{
switch (type) {
case 1:
return (INET_getsock(bufp, sap));
case 256:
return (INET_resolve(bufp, (struct sockaddr_in *) sap, 1));
default:
return (INET_resolve(bufp, (struct sockaddr_in *) sap, 0));
}
}
char *safe_strncpy(char *dst, const char *src, size_t size)
{
dst[size-1] = '\0';
return strncpy(dst,src,size-1);
}
static int INET_rresolve(char *name, size_t len, struct sockaddr_in *sin,
int numeric, unsigned int netmask)
{
struct hostent *ent;
struct netent *np;
struct addr *pn;
unsigned long ad, host_ad;
int host = 0;

/* Grmpf. -FvK */
if (sin->sin_family != AF_INET) {
errno = EAFNOSUPPORT;
return (-1);
}
ad = (unsigned long) sin->sin_addr.s_addr;
if (ad == INADDR_ANY) {
if ((numeric & 0x0FFF) == 0) {
if (numeric & 0x8000)
safe_strncpy(name, "default", len);
else
safe_strncpy(name, "*", len);
return (0);
}
}
if (numeric & 0x0FFF) {
safe_strncpy(name, inet_ntoa(sin->sin_addr), len);
return (0);
}

if ((ad & (~netmask)) != 0 || (numeric & 0x4000))
host = 1;
pn = INET_nn;
while (pn != NULL) {
if (pn->addr.sin_addr.s_addr == ad && pn->host == host) {
safe_strncpy(name, pn->name, len);
return (0);
}
pn = pn->next;
}

host_ad = ntohl(ad);
np = NULL;
ent = NULL;
#ifndef EMBED
if (host) {
ent = gethostbyaddr((char *) &ad, 4, AF_INET);
if (ent != NULL)
safe_strncpy(name, ent->h_name, len);
}
#ifndef __UC_LIBC__
else {
np = getnetbyaddr(host_ad, AF_INET);
if (np != NULL)
safe_strncpy(name, np->n_name, len);
}
#endif
#endif
if ((ent == NULL) && (np == NULL))
safe_strncpy(name, inet_ntoa(sin->sin_addr), len);
pn = (struct addr *) malloc(sizeof(struct addr));
pn->addr = *sin;
pn->next = INET_nn;
pn->host = host;
pn->name = (char *) malloc(strlen(name) + 1);
strcpy(pn->name, name);
INET_nn = pn;

return (0);
}
static char *INET_sprint(struct sockaddr *sap, int numeric)
{
static char buff[128];

if (sap->sa_family == 0xFFFF || sap->sa_family == 0)
return safe_strncpy(buff, "[NONE SET]", sizeof(buff));

if (INET_rresolve(buff, sizeof(buff), (struct sockaddr_in *) sap,
numeric, 0xffffff00) != 0)
return (NULL);

return (buff);
}

int main()
{
int ext=1,numeric=0;
char buff[1024], iface[16], flags[64];
char gate_addr[128], net_addr[128];
char mask_addr[128];
int num, iflags, metric, refcnt, use, mss, window, irtt;
FILE *fp = fopen(_PATH_PROCNET_ROUTE, "r");
char *fmt;
if (!fp) {
perror(_PATH_PROCNET_ROUTE);
printf("INET (IPv4) not configured in this system.\n");
return 1;
}

irtt = 0;
window = 0;
mss = 0;

fmt = proc_gen_fmt(_PATH_PROCNET_ROUTE, 0, fp,
"Iface", "%16s",
"Destination", "%128s",
"Gateway", "%128s",
"Flags", "%X",
"RefCnt", "%d",
"Use", "%d",
"Metric", "%d",
"Mask", "%128s",
"MTU", "%d",
"Window", "%d",
"IRTT", "%d",
NULL);
/* "%16s %128s %128s %X %d %d %d %128s %d %d %d\n" */

if (!fmt)
return 1;

while (fgets(buff, 1023, fp)) {

num = sscanf(buff, fmt,
iface, net_addr, gate_addr,
&iflags, &refcnt, &use, &metric, mask_addr,
&mss, &window, &irtt);
if (num < 10 || !(iflags & RTF_UP))
continue;

INET_input(1, gate_addr, &snet_gateway);

strcpy(gate_addr, INET_sprint(&snet_gateway, numeric | 0x4000));
gate_addr[15] = '\0';
if (iflags & RTF_GATEWAY)
printf("==gateway=======%s===%s=====\n",gate_addr,iface);

}

free(fmt);
(void) fclose(fp);
return (0);
}
[/code]

㈨ linux和python先學哪個

Linux屬於操作系統,Python屬於編程語言,可以先學習Linux,後學習Python。
從生產環境上來說,伺服器基本都是採用的Linux系統,比如說centos,紅帽,ubuntu等系統,所以生產環境的Python腳本都是在Linux系統上進行部署的,一般開發Python腳本基本在Windows或者MAC系統上,操作起來比較容易、快捷,一般伺服器級別的系統都是字元型界面,也可以在Linux伺服器上進行開發。
一般Python開發程序,需要部署環境產量,還有一些集成的軟體,最重要的是Python語言功能非常強大,可以開發很多的事情,無論是常用的Python爬蟲,還是數據分析、人工智慧、3D游戲開發,Python都具有非常不錯的作用。
其實,從整體來說無論做什麼Windows都可以做,不過相對於來說Linux的性能效率更高一些,同時還可以讓Python發揮出更大的性能和作用。
同時,Linux相對於開發者來說更加方便,Linux系統下擁有最高的許可權,各種配置和工具可以隨意選擇,相對於Windows系統,做修改是比較麻煩的事情。
當然Linux並不是必須學習的,不過Linux是非常不錯的選擇,可以起到更好的作用,使用起來更加方便一些。

㈩ linux命令的命令

tar與gzip
tar命令
tar [-cxtzjvfpPN] 文件與目錄....
參數:
-c :建立一個壓縮文件的參數指令(create 的意思);
-x :解開一個壓縮文件的參數指令!
-t :查看 tarfile 裡面的文件!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』才對喔!
-p :使用原文件的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
#tar -cvf [文件名.tar] [文件……目錄]
查看包文件的內容
#tar -tf 文件名.tar
向已有的包中添加新文件
#tar -rvf [文件名.tar] [新文件……]
釋放包文件#tar -xvf 文件名.tar
gz壓縮文件#gzip 文件名
解壓縮文件
#gzip -d 文件名.gz 或#gunzip 文件名.gz
創建壓縮包
#tar -zcvf [文件名.tar.gz] [文件1 文件2 …]
查看壓縮包中的內容
#tar -ztf 文件名.tar.gz
釋放壓縮包
#tar -zxvf 文件名.tar.gz
mount,umount
mount是Linux下的一個命令,它可以將分區作為Linux的一個「文件」掛接到Linux的一個空文件夾下,從而將分區和/mnt這個目錄聯系起來,因此我們只要訪問這個文件夾,就相當於訪問該分區了。目前mount已經不僅僅局限於Linux了,在Windows系統下的應用也越來越廣了,多用在虛擬光碟機類軟體上,比如Clone CD,Daemon tool,WinMount等。
注意事項
1、必須將光碟、U盤等放入驅動器在實施掛載操作
2、不能在掛載目錄下實施掛載操作,至少在上一級
3、不能在同一目錄下掛載兩個以上的文件系統
4、Linux預留掛載目錄為/mnt
5、不能在掛載目錄下實施卸載操作
6、掛載目錄必須事先存在
掛載光碟
#mount -t iso9660 /dev/cdrom /mnt/cdrom
卸載光碟
#umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject
掛載U盤
#mount /dev/sdb1 /mnt/usb
掛載iso鏡像
#mount -t iso9660 -o loop iso鏡像文件/mnt/cdrom
基礎命令
* LINUX圖形界面和命令行界面的切換 進入Ubuntu桌面環境後,可以使用鍵盤上的「Ctrl+Alt+F1~F6「組合鍵來切換不同的tty界面,Linux默認提供了6個命令行界面(F1-F6),比如」Ctrl+Alt+F1″就是切換到tty1:1 /*最上面顯示的是Ubuntu的版本計算機名稱和tty號*/2 Ubuntu 12.04.1 LTS qingsword tty14 /*輸入用戶名和密碼即可登錄tty1*/5 qingsword login: root6 Password:在命令行模式下,想要切換回圖形界面可以使用組合鍵」Ctrl+Alt+F7「。另外,如果不是從圖形界面切換到tty模式,而是系統啟動時候直接進入的命令行模式,在登陸後可以使用」startx」來啟動圖形界面。PS:在圖形界面下使用」Ctrl+Alt+T「可以快速啟動Linux的命令行終端。
* 列出目錄中的文件(LS)在Linux命令行終端中使用的最多的命令就是這個ls,它可以幫助我們列出當前目錄下都有哪些文件,下面是一些實例:1 /*2 * 使用pwd,查看當前是在哪個目錄中,3 * 顯示為「/home/qingsword」,這就是當前命令行所在的目錄。4 */5 [qingsword@localhost ~]$ pwd6 /home/qingsword8 /*切換到根目錄*/9 [qingsword@localhost ~]$ cd /11 /*驗證一下,確實在根目錄下了*/12 [qingsword@localhost /]$ pwd13 /15 /*查看根目錄下面都有哪些文件和文件夾*/16 [qingsword@localhost /]$ ls17 bin dev home lost+found mnt proc sbin srv tmp var18 boot etc lib media opt root selinux sys usr20 /*可以使用兩個ll詳細輸出,這個命令和ls -l效果相同*/21 [qingsword@localhost /]$ ll22 total 7823 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin24 dr-xr-xr-x. 5 root root 1024 Aug 8 23:54 boot25 drwxr-xr-x. 18 root root 3820 Aug 8 17:41 dev26 drwxr-xr-x. 88 root root 4096 Dec 24 10:39 etc27 …../*省略部分輸出*/…..29 /*詳細輸出,並且顯示隱藏的文件和文件夾,或ls -al*/30 [qingsword@localhost /]$ ll -a31 total 8632 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 .33 dr-xr-xr-x. 21 root root 4096 Aug 8 17:39 ..34 -rw-r–r–. 1 root root 0 Aug 8 17:39 .autofsck35 dr-xr-xr-x. 2 root root 4096 Aug 9 01:21 bin36 …../*省略部分輸出*/…..上面為ls常見的用法,下面是一些其他用法:1 /*2 * 使用遞歸模式,顯示目錄以及下級子目錄,3 * 後面的more是當輸出超出終端顯示範圍時,顯示一個more,4 * 按任意鍵可以繼續顯示下面的內容。5 */6 [qingsword@localhost /]$ ls -R | more8 /*按時間先後顯示*/9 [qingsword@localhost /]$ ls -t11 /*橫排輸出,中間用逗號分隔*/12 [qingsword@localhost /]$ ls -m14 /*按大小排列,先大後小*/15 [qingsword@localhost /]$ ls -S除此之外ls會顯示不同顏色,下面是這些顏色的含義:藍色—目錄綠色—可執行文件紅色—壓縮文件淺藍色—鏈接文件粉紅色—圖片文件黃色—設備文件灰色—其他文件可以切換到/dev目錄下用ls查看一下,會看到大部分為設備文件。* 目錄切換(CD)使用cd(Change Directory)命令可以在不同目錄之間切換,下面是一些實例:1 /*當前目錄是根目錄*/2 [qingsword@localhost /]$ pwd3 /5 /*使用cd切換到/dev這個目錄*/6 [qingsword@localhost /]$ cd /dev78 [qingsword@localhost dev]$ pwd9 /dev11 /*查看一下當前目錄下面的文件*/12 [qingsword@localhost dev]$ ls14 /*這條命令可以用來跳到前一個工作目錄,即根目錄*/15 [qingsword@localhost dev]$ cd -16 /18 /*跳到當前用戶的家目錄*/19 [qingsword@localhost /]$ cd ~20 [qingsword@localhost ~]$ pwd21 /home/qingsword23 /*返回上一層目錄*/24 [qingsword@localhost ~]$ cd ..25 [qingsword@localhost home]$ pwd26 /home* 創建、移動、復制、刪除文件的操作可以使用下面的命令來創建一個目錄,或者嵌套的目錄:1 /*我在當前用戶的家目錄中,首先創建一個單層目錄*/2 [qingsword@localhost ~]$ mkdir qing3 [qingsword@localhost ~]$ ls4 qing6 /*試著創建一個嵌套的目錄,提示錯誤*/7 [qingsword@localhost ~]$ mkdir top/sub/sub28 mkdir: cannot create directory `top/sub/sub2′: No such file or directory10 /*添加-p參數才能創建多層的嵌套目錄*/11 [qingsword@localhost ~]$ mkdir -p top/sub/sub212 [qingsword@localhost ~]$ ls13 qing top15 /*16 * 使用遞歸顯示當前目錄下面文件,17 * 「.」代表當前目錄,下面表示這個目錄下面的子目錄和文件。18 */19 [qingsword@localhost ~]$ ls -R20 .:21 qing top23 /*」qing」這個目錄下面是空的,沒有其他文件和文件夾*/24 ./qing:26 /*」top」目錄下還有個子目錄」sub」*/27 ./top:28 sub30 /*sub目錄下還有個sub2*/31 ./top/sub:32 sub234 /*sub2下面是空的*/35 ./top/sub/sub2:刪除目錄或者文件:1 /*強制刪除剛才創建的top目錄,」rm -rf」後面可以接任何目錄或者文件*/2 [qingsword@localhost ~]$ rm -rf top創建文本文件:1 /*使用touch命令可以創建一個空文本文件*/2 [qingsword@localhost ~]$ touch testfile4 /*使用echo命令將hello這幾個字元寫入這個文件中*/5 [qingsword@localhost ~]$ echo hello>>testfile7 /*使用more命令顯示這個文件中的內容*/8 [qingsword@localhost ~]$ more testfile9 hello11 /*追加一行,再次顯示*/12 [qingsword@localhost ~]$ echo My name is QingSword>>testfile13 [qingsword@localhost ~]$ more testfile14 hello15 My name is QingSword復制文件或文件夾:1 /*首先創建兩個文件夾*/2 [qingsword@localhost ~]$ mkdir dir13 [qingsword@localhost ~]$ mkdir dir24 [qingsword@localhost ~]$ ls5 dir1 dir2 qing testfile7 /*將testfile這個文本文件復制到dir2目錄中*/8 [qingsword@localhost ~]$ cp testfile dir29 [qingsword@localhost ~]$ ls dir210 testfile12 /*將dir2目錄復制到dir1目錄中,復制非空目錄要添加參數-r*/13 [qingsword@localhost ~]$ cp -r dir2 dir114 [qingsword@localhost ~]$ ls -R dir115 dir1:16 dir218 dir1/dir2:19 testfile21 /*22 * 復制多個目標到一個文件夾中,23 * 將dir1和dir2這兩個文件夾以及testfile這個文本文件,復制到後面的qing文件夾中。24 */25 [qingsword@localhost ~]$ cp -r dir1 dir2 testfile qing移動目錄或文件(剪切):1 /*mv可以操作目錄和文件,同樣可以一次性操作多個目標*/2 [qingsword@localhost ~]$ mv dir1 qing3 [qingsword@localhost ~]$ ls4 dir2 qing testfile6 [qingsword@localhost ~]$ mv testfile dir2 qing7 [qingsword@localhost ~]$ ls8 qing9 [qingsword@localhost ~]$* 重啟和關機使用下面的命令重啟和關機(這個命令必須使用root用戶才能執行):1 /*首先切換到root許可權*/2 [qingsword@localhost ~]$ su3 Password:5 /*一分鍾後關機*/6 [qingsword@localhost ~]# shutdown -h 18 /*如果是定時關機,可以打開另外一個終端,使用下面這個命令取消關機*/9 [qingsword@localhost ~]# shutdown -c11 /*馬上關機*/12 [qingsword@localhost ~]# shutdown -h now14 /*下面這兩條命令也是馬上關機*/15 [qingsword@localhost ~]# init 016 [qingsword@localhost ~]# poweroff18 /*下面這兩條命令都能馬上重啟*/19 [qingsword@localhost ~]# reboot20 [qingsword@localhost ~]# init 6
uniq
–去除重復行
下面的示例演示如何grep的唯一相關的交易,削減不必要的信息,並獲得計數。
jfields$ cat order.out.log | grep (Kindle|Hardcover) | cut -d, -f3 | sort | uniq -c
1 Joy of Clojure
2 Patterns of Enterprise Architecture
jfields$ cat order.out.log | grep (Kindle|Hardcover) | cut -d, -f3 | sort | uniq
Joy of Clojure
Patterns of Enterprise Architecture
命令ls
ls [list]
這個命令就相當於dos下的dir命令一樣,這也是Linux控制台命令中最為重要幾個命令之一。Linux上的文件以「.」開頭的文件被系統視為隱藏文件,僅用ls命令是看不到他們的,而用ls -a除了顯示 一般文件名外,連隱藏文件也會顯示出來。
ls -l(這個參數是字母L的小寫,不是數字1)【直接輸入ll 等價於 ls -l的效果】
這個命令可以使用長格式顯示文件內容,如果需要察看更詳細的文件資料,就要用到ls -l這個指令。例如我在某個目錄下鍵入ls -l可能會顯示如下信息(最上面兩行是我自己加的):
位置1 2 3 4 5 6 7
文件屬性文件數 擁有者 所屬者group 文件大小 建檔日期 文件名
drwx------ 2 Guest users 1024 Nov 21 21:05 Mail
-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*
-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*
lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip
-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*
-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
下面,我為大家解釋一下這些顯示內容的意義。
第一個欄位,表示文件的屬性。Linux的文件基本上分為三個屬性:可讀(r),可寫(w),可執行(x)。但是這里有十個格子可以添(具體程序實現時,實際上是十個bit位)。第一個小格是特殊表示格,表示目錄或連結文件等等,d表示目錄,例如drwx------;l表示連結文件,如lrwxrwxrwx;如果是以一橫「-」表示,則表示這是文件。其餘剩下的格子就以每3格為一個單位。因為Linux是多用戶多任務系統,所以一個文件可能同時被許多人使用,所以我們一定要設好每個文件的許可權,其文件的許可權位置排列順序是(以-rwxr-xr-x為例):
rwx(Owner)r-x(Group)r-x(Other)
這個例子表示的許可權是:使用者自己可讀,可寫,可執行;同一組的用戶可讀,不可寫,可執行;其它用戶可讀,不可寫,可執行。另外,有一些程序屬性的執行部分不是X,而是S,這表示執行這個程序的使用者,臨時可以有和擁有者一樣權力的身份來執行該程序。一般出現在系統管理之類的指令或程序,讓使用者執行時,擁有root身份。
第二個欄位,表示文件個數。如果是文件的話,那這個數目自然是1了,如果是空目錄的話,那它的數目就是2,非空目錄等於該目錄中的目錄個數加上2了。
第三個欄位,表示該文件或目錄的擁有者。若使用者目前處於自己的Home,那這一欄大概都是它的賬號名稱。
第四個欄位,表示所屬的組(group)。每一個使用者都可以擁有一個以上的組,不過大部分的使用者應該都只屬於一個組,只有當系統管理員希望給予某使用者特殊許可權時,才可能會給他另一個組。
第五欄位,表示文件大小。文件大小用byte來表示,而空目錄一般都是1024byte,你當然可以用其它參數使文件顯示的單位不同,如使用ls –k就是用kb來顯示一個文件的大小單位,不過一般我們還是以byte為主。
第六個欄位,表示創建日期。以「月,日,時間」的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七個欄位,表示文件名。我們可以用ls –a顯示隱藏的文件名。
ls –F(注意,是大寫的F)
使用這個參數表示在文件的後面多添加表示文件類型的符號,例如*表示可執行,/表示目錄,@表示連結文件,這都是因為使用了-F這個參數。但是現在基本上所有的Linux發行版本的ls都已經內建了-F參數,也就是說,不用輸入這個參數,我們也能看到各種分辨符號。
cd
cd [change directory]
這個命令是用來進出目錄的,它的使用方法和在dos下差不多,但要注意以下兩點:首先,和dos不同的是Linux的目錄對大小寫是敏感的,如果大小寫沒寫對,cd操作不會成功;其次,cd如果直接輸入,cd後面不加任何東西,會回到使用者自己的Home Directory。假設如果是root,則回到/root,與輸入cd ~是一樣的效果。

閱讀全文

與linuxpn相關的資料

熱點內容
如何快速清除app廣告 瀏覽:715
單片機按鍵外部中斷 瀏覽:559
單片機的usb供電 瀏覽:255
更改android解析度 瀏覽:185
phpstaticfinal 瀏覽:694
成人倫理風月片電影 瀏覽:294
禁播愛情片 瀏覽:21
動漫電影免費版大全 瀏覽:14
java什麼是this 瀏覽:811
拍攝指南by小說製造機txt下載 瀏覽:738
豆瓣pdf 瀏覽:723
春宮妖姬演員表 瀏覽:112
韓國情愛電影在線 瀏覽:812
程序員那麼可愛顧墨吃醋 瀏覽:201
伺服器未測速怎麼辦 瀏覽:15
男主角林晨的都市小說 瀏覽:899
百度文庫系統源碼nodejs 瀏覽:997
電影院正在上映的電影怎麼在家看 瀏覽:61
永輝生活app如何使用手機閃付 瀏覽:178
吸奶的電影 瀏覽:986