导航:首页 > 操作系统 > 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相关的资料

热点内容
酒店命令 浏览:750
中走丝线切割编程视频 浏览:78
衣服压缩袋手泵原理 浏览:714
通达信编程书籍 浏览:981
车用压缩天然气瓶阀 浏览:971
鞋的程序员 浏览:259
车的压缩比是什么意思 浏览:202
网站源码怎么传到文件夹 浏览:914
海南压缩机在哪里 浏览:491
电脑文件夹清晰的文件结构 浏览:839
如何把苹果手机的app转到安卓 浏览:305
java同步并发 浏览:249
fw压缩图片 浏览:258
淘宝申请源码靠谱吗 浏览:874
androidupdater 浏览:635
c2d游戏源码大全可复制版 浏览:771
电脑怎样重置网关命令 浏览:411
winftplinux 浏览:335
推特app界面如何设置成中文 浏览:452
太空工程师转子编程属性 浏览:32