当前位置:文档之家› linux学习文档(详细版)

linux学习文档(详细版)

linux学习文档(详细版)
linux学习文档(详细版)

cdcdlinux 学习文档(修订版)

2008年11月

一、 最小安装组件

(略)

二、 Vsftpd 的配置相关

(一) 可用root 与anoymous 登录ftp

1、 启动:Service vsftpd start | resetart | stop

2、 配置文件:/etc/vsftpd/vsftpd.conf

a) chroot_list_enable=YES 允许root 有效

b) chroot_list_file=/etc/vsftpd/chroot_list 习惯改为:chroot_list_file=/etc/vsftpd/chroot.list

c) 添加chroot_local_user=YES 本地用户受阻隔

3、 chroot.list 文件内容:添加用户root ,以允许root 访问

在 /etc/vsftpd/下面用 vim chroot.list 命令建立一个chroot.list 的新文件,文件内容为root 即可。

打开此项,允许root 用户有效

添加此项,使本地用户受阻隔

打开此项,指定允许FTP 远程登陆用户

列表文件chroot.list 所在路径

4、/etc/vsftpd.ftpusers中,注释掉root用户

将root注释掉,即在前面加上“#”即可。

5、用vim命令编辑/etc/https://www.doczj.com/doc/f312150161.html,er_list文件,在root用户前加上“#”即可。

(二)使用anonymous在upload中上传文件

默认公用ftp目录:/var/ftp/pub

1、mkdir upload

2、chmod o+w upload或chmod 757 upload

3、修改/etc/vsftpd/vsftpd.conf

a)anon_upload_enable=YES

b)anon_mkdir_write_enable=YES

去掉这两行前面的“#”,即可打开允许匿

名用户登陆FTP服务器上传文件的功能

# Example config file /etc/vsftpd.conf

#

# The default compiled in settings are very paranoid. This sample file

# loosens things up a bit, to make the ftp daemon more usable.

#

# Allow anonymous FTP?

anonymous_enable=YES

#

# Uncomment this to allow local users to log in.

local_enable=YES

#

# Uncomment this to enable any form of FTP write command.

write_enable=YES

#

# Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's)

local_umask=022

#

# Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will

# obviously need to create a directory writable by the FTP user.

anon_upload_enable=YES

#

# Uncomment this if you want the anonymous FTP user to be able to create # new directories.

anon_mkdir_write_enable=YES

#

# Activate directory messages - messages given to remote users when they

# go into a certain directory.

dirmessage_enable=YES

#

# Activate logging of uploads/downloads.

xferlog_enable=YES

#

# Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES

#

# If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not

# recommended!

#chown_uploads=YES

#chown_username=whoever

#

# You may override where the log file goes if you like. The default is shown # below.

#xferlog_file=/var/log/vsftpd.log

#

# If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES

#

# You may change the default value for timing out an idle session.

#idle_session_timeout=600

#

# You may change the default value for timing out a data connection.

#data_connection_timeout=120

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

#

# Enable this and the server will recognise asynchronous ABOR requests. Not

# recommended for security (the code is non-trivial). Not enabling it,

# however, may confuse older FTP clients.

#async_abor_enable=YES

#

# By default the server will pretend to allow ASCII mode but in fact ignore

# the request. Turn on the below options to have the server actually do ASCII

# mangling on files when in ASCII mode.

# Beware that turning on ascii_download_enable enables malicious remote parties # to consume your I/O resources, by issuing the command "SIZE /big/file" in

# ASCII mode.

# These ASCII options are split into upload and download because you may wish # to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),

# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be # on the client anyway..

#ascii_upload_enable=YES

#ascii_download_enable=YES

#

# You may fully customise the login banner string:

#ftpd_banner=Welcome to blah FTP service.

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd.banned_emails

#

# You may specify an explicit list of local users to chroot() to their home

# directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

chroot_list_enable=YES

chroot_local_user=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot.list

#

# You may activate the "-R" option to the builtin ls. This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it.

#ls_recurse_enable=YES

pam_service_name=vsftpd

userlist_enable=YES

#enable for standalone mode

listen=YES

tcp_wrappers=YES

三、 httpd 服务器

1、 启动Service httpd restart

2、 配置文件/etc/httpd/conf/httpd.conf

3、 DocumentRoot “/var/www/html ” /*设置网站根目录*/

4、

5、 AddDefaultCharset IS0-8859-1改为GB2312 更改语言类型为中文标准

指定网站的根目录

进入到httpd.conf 文件所在的 /etc/httpd/conf 文件夹 用ll 命令查看当前路径下是否有httpd.conf 文件

用vim 命令编辑修改httpd.conf 配置文件的内容

6、 DirectoryIndex index.html index.htm 修改默认首页

注:在用vim 编辑器时,使用“/+字符串”命令进行查找要进行修改的字符串

7、 端口侦听 listen 80

Listen 8080

开启虚拟主机 Virtualhost 后面跟上IP 地址,端口号为8080

documentRoot /var/www/web2

四、 DHCP 服务器

1、 在安装系统时安装DHCP 服务器

2、 安装系统完成后,再安装DHCP 服务器

a) 查看有无安装:rpm –q dh* 或rpm –qL dh*

b) 挂载光驱:mount /mnt/cdrom 或mount /dev/cdrom /mnt/cdrom c) 删载光驱umount /mnt/cdrom

d) 安装包所在位置:第二张盘/RedHat/RPMS/dhcp …….rpm

e) Rpm –ivh dhcp …….rpm 或 rpm –i dhcp …….rpm

指定IE 浏览打开的网站首

页的文件类型。根据自己

网站的文件类型来定,如

index.asp index.php 等都可

以添加进来。

当一个服务器上使用不同

端口进行访问网站时,须

要添加相应的访问端口。

f)复制DHCP配置文件cp /usr/share/doc/dhcpd/dhcpd.conf.sample

/etc/dhcpd.conf

/* 模板文件:/usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample */

g)卸掉光驱:umount或cd;eject

h)Dhcp服务的启动与关闭:service dhcpd start/restart/stop

/etc/dhcpd.conf

ddns-update-style interim;

ignore client-updates;

subnet 192.168.10.0 netmask 255.255.255.0 { (指定DHCP分配的网段)

# --- default gateway

option routers 192.168.10.254; 指定DHCP服务器网关地址

option subnet-mask 255.255.255.0; 子网掩码

# option nis-domain "https://www.doczj.com/doc/f312150161.html,";

# option domain-name "https://www.doczj.com/doc/f312150161.html,";

option domain-name-servers 192.168.32.1; 指定DNS域名服务器IP地址

option time-offset -18000; # Eastern Standard Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless

# -- you understand Netbios very well

# option netbios-node-type 2;

range dynamic-bootp 192.168.10.100 192.168.10.200; /*指定自动获取IP 的范围 */

default-lease-time 21600; 默认租约时间为21600秒

max-lease-time 43200; 最大租约时间为43200秒

# we want the nameserver to appear at a fixed address

host ns {

next-server https://www.doczj.com/doc/f312150161.html,;

hardware ethernet 12:34:56:78:AB:CD;

fixed-address 207.175.42.254;

} }

subnet

{

# --- default gateway

option routers 192.168.20.254;

option subnet-mask 255.255.255.0;

# option nis-domain "https://www.doczj.com/doc/f312150161.html, ";

# option domain-name

"domain.or g"; option domain-name-servers 192.168.32.1;

option time-offset -18000; # Eastern Standard Time

# option ntp-servers 192.168.1.1;

# option netbios-name-servers 192.168.1.1;

# --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well

max-lease-time 43200;

# we want the nameserver to appear at a fixed address

#host ns {

#next-server https://www.doczj.com/doc/f312150161.html,;

#hardware ethernet 12:34:56:78:AB:CD;

#fixed-address 207.175.42.254;

#}

}

五、 DNS 服务器

1、 启动named :Service named start

2、 关闭named :PS -aux 显示进程列表,找到named , 然后kill -9 <

进程号>

3、 配置文件:/etc/named.conf

options {

directory "/var/named"; /*此目录中存放一些相关的配置文件*/ /*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below. Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

//

// a caching only nameserver config

//

controls {

inet 127.0.0.1 allow { localhost; } keys { rndckey; }; 定义第1个正向域https://www.doczj.com/doc/f312150161.html,,其相应

的配置文件为https://www.doczj.com/doc/f312150161.html,.zone,文件

保存在/var/named/文件夹下面

定义反向域32.168.192网段,其相应

的配置文件为32.168.192.local ,其文

件保存在/var/named/文件夹下面。

定义第2个正向域https://www.doczj.com/doc/f312150161.html,,其相

应的配置文件为https://www.doczj.com/doc/f312150161.html,.zone,文

件保存在/var/named/文件夹下面

};

zone "." IN {

type hint;

file "named.ca";

};

zone "https://www.doczj.com/doc/f312150161.html," IN { /*正向域名https://www.doczj.com/doc/f312150161.html,*/

type master;

file "https://www.doczj.com/doc/f312150161.html,.zone"; /*“https://www.doczj.com/doc/f312150161.html,.zone”此文件保存在/var/named/文件夹下*/ allow-update { none; };

};

zone "0.0.127.in-addr.arpa" IN {

type master;

file "named.local";

allow-update { none; };

};

zone "32.168.192.in-addr.arpa" IN { /*反向域32.168.192.in-addr.arpa*/ type master;

file "32.168.192.local"; /*”32.168.192.local”此文件保存在/var/named/文件夹下*/

allow-update { none; };

};

include "/etc/rndc.key";

4、域配置文件:/var/named/*.zone

将其改为你的正

向域名地址即可

此处可改可不必,若改就

应改为和主机的IP地址

一致

定义正向解析域列表

注意:“IN”和“A”之间必须

要空格,并且必须为大写

文本范例如下:

https://www.doczj.com/doc/f312150161.html,.zone

$TTL 86400

$ORIGIN https://www.doczj.com/doc/f312150161.html,.

@ 1D IN SOA @ root (

42 ; serial (d. adams)

3H ; refresh

15M ; retry

1W ; expiry

1D ) ; minimum

1D IN NS @

1D IN A 127.0.0.1

www IN A 192.168.32.1

ftp IN A 192.168.32.1

mail IN A 192.168.32.1

反向解析域配置文件:/var/named/*.local

将其改为本机域名

定义反向解析域列表

文本范例如下:

32.168.192.local

$TTL 86400

@ IN SOA https://www.doczj.com/doc/f312150161.html,. https://www.doczj.com/doc/f312150161.html,.(

1997022700 ; Serial

28800 ; Refresh

14400 ; Retry

3600000 ; Expire

86400 ) ; Minimum

IN NS https://www.doczj.com/doc/f312150161.html,.

1 IN PTR https://www.doczj.com/doc/f312150161.html,

1 IN PTR https://www.doczj.com/doc/f312150161.html,

1 IN PTR https://www.doczj.com/doc/f312150161.html,

1 IN PTR https://www.doczj.com/doc/f312150161.html,

1 IN PTR https://www.doczj.com/doc/f312150161.html,

1 IN PTR https://www.doczj.com/doc/f312150161.html,.

Yy 复制一行,dd删除一行,p粘贴一行

注意:在用NSLOOKUP进行反向检测时,输入的ip地址为192.168.32.1

六、Sendmail服务器配置

(一)/etc/mail/sendmail.mc

i.注释掉42、43两行

ii.把127.0.0.1改为0.0.0.0

(二)m4 sendmail.mc > sendmail.cf

(三)/etc/mail/sendmail.cf

把Cwlocalhost改为Cw域名

(四)启动service sendmail restart

linux学习笔记

Linux 一、Linux文件及文件夹命名规则 1)除了/之外,所有的字符都合法。因为/是系统的根目录名 2)有些字符最好不要用,如空格、制表符、退格符和@#$&-等字符。因为Linux命令以空格、-进行分开的;而#表示管理员命令行,$表示用户命令行等 3)避免使用.作为普通文件名的第一个字符。因为Linux系统以.开头的文件是隐藏文件4)Linux系统对英文字符大小写敏感 建议:不要把windows使用习惯带到Linux系统使用上 二、Linux操作命令 2.1、命令格式 命令格式:命令-选项参数 示例:ls –la /etc,参数是命令操作的对象 说明:1)当有多个选项时,可以写在一起。 2)两个特殊的目录.和..,分别代表当前目录和当前目录的父目录 2.2、命令种类及用法 Linux系统里命令按权限分为:1、只有管理员即root才能使用的命令,这些命令位置在/sbin 和/usr/sbin目录;2、管理员和所有用户都能使用的命令,这些命令的位置在/bin和/usr/bin 目录。bin是二进制文件夹binary缩写,usr是user的缩写,sbin是super binary缩写;3、Linux系统里内核处理任务文件都需要一个数字标识(inode-i节点),因为Linux只认i节点不认字符的,一个i节点可以对应多个文件 2.2.1、文件处理命令 2.2.1.1、ls命令-查看 1)命令名称:ls 2)命令英文原意:list 3)命令所在路径:/bin/ls 4)执行权限:所有用户

5)命令作用:查看目录下的文件和文件夹 6)命令语法:ls 选项[-ald] [文件或目录] 7)用法示例:#ls –ald /etc 选项说明:-a all缩写,显示所有文件,包括隐藏文件 -l long缩写,显示文件和文件夹详细信息显示 -d 查看目录属性 -i 查看文件的inode(i节点:一个数字标识) 文件和文件夹详细信息说明: 1、第一部分如:drwxr-xr-x、-rwxr-xr-x、lrwxr-xr-x这部分分成4个部分, 其各个字符说明: d 第一个字符d表示目录directory - 如果是第一个字符表示二进制文件,其它表示无权限 l 第一个字符l表示软链接文件link r 读权限read w 写权限write x 执行权限execute 第一部分:即第一个字符,表示文件类型 第二部分:第2-10个字符,表示三种用户对该文件的权限 第2-4个字符,表示所有者u-user对该文件的权限 第5-7个字符,表示所属组g-group对该文件的权限 第8-10个字符,表示其它人o-others对该文件的权限 2、第二部分如:2,表示该文件硬链接数 3、第三部分如:root,表示该文件所有者权限 4、第四部分如:root,表示该文件所属组权限 5、第五部分如:4096,表示该文件大小;以数据块block表示最小存储数 据单位,每个数据块为512字节 6、第六部分如:12-01 20:52,表示该文件创建时间或最后修改时间 7、第七部分如:bin,表示该文件的名 2.2.1.2、cd命令-切换 1)命令名称:cd 2)命令英文原意:change directory 3)命令所在路径:shell内置命令 4)执行权限:所有用户 5)命令作用:切换目录 6)命令语法:cd [目录] 7)用法示例:#cd / 切换到根目录 注:这个命令一般配合pwd命令使用

一篇非常好的linux学习笔记分享(Linux入门绝佳)

作者:佚名字体:[增加减小] 来源:互联网时间:03-06 21:54:44我要评论 一篇非常好的linux学习笔记分享,对于常用命令整理的比较详细,推荐使用。 linux目录架构 / 根目录 /bin 常用的命令binary file 的目錄 /boot 存放系统启动时必须读取的档案,包括核心(kernel) 在内 /boot/grub/menu.lst GRUB设置 /boot/vmlinuz 内核 /boot/initrd 核心解壓縮所需RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件说明用户的系统如何查询节点名 /etc/hosts 设定用户自已的IP与名字的对应表 /etc/hosts.allow 设置允许使用inetd的机器使用 /etc/hosts.deny 设置不允许使用inetd的机器使用 /etc/hosts.equiv 设置远端机不用密码 /etc/inetd.conf 设定系统网络守护进程inetd的配置 /etc/gateways 设定路由器 /etc/protocols 设定系统支持的协议 /etc/named.boot 设定本机为名字服务器的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 设置IP /etc/resolv.conf 设置DNS /etc/X11 X Window的配置文件,xorg.conf 或XF86Config 這兩個X Server 的設定檔/etc/fstab 记录开机要mount的文件系统 /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel /etc/issue 记录用户登录前显示的信息 /etc/group 设定用户的组名与相关信息 /etc/passwd 帐号信息 /etc/shadow 密码信息 /etc/sudoers 可以sudo命令的配置文件 /etc/securetty 设定哪些终端可以让root登录 /etc/login.defs 所有用户登录时的缺省配置

LINUX实验报告

实验报告 ( 2014/ 2015 学年第一学期) 课程名称操作系统A 实验名称文件系统 实验时间2014 年12 月8 日指导单位计算机学院计算机科学与技术系 指导教师徐鹤 学生姓名王生荣班级学号B12040809 学院(系) 计算机学院专业软件工程

实验名称文件系统指导教师徐鹤 实验类型设计实验学时 2 实验时间2014.12.08 一、实验目的和要求 1. 学习LINUX系统下对文件进行操作的各种命令和图形化界面的使用方法。 2. 深入学习和掌握文件管理系统的基本原理和LINUX等操作系统下常用的系统调用,编写一个使用系统调用的例程。 3.实现一个文本文件的某信息的插入和删除 4.实现一个记录文件的某记录的插入和删除 二、实验环境(实验设备) Windows XP + VMWare + RedHat Linux 8

三、实验过程描述与结果分析 1. 目录/proc下与系统相关的文件和目录 (1) /proc/$pid/fd:这是一个目录,该进程($PID号码进程)每个打开的文件在该目录下有一个对应的文件。 例如:#ls /proc/851/fd 0 1 2 255 这表示,851号进程目前正在使用(已经打开的)文件有4个,它们的描述符分别是0、1、2、255。其中,0、1、2 依次分别是进程的标准输入、标准输出和标准错误输出设备。 (2)/proc/filesystems:该文件记录了可用的文件系统类型。 (3)/proc/mounts:该记录了当前被安装的文件系统信息 例如:#cat /proc/mount (4)/proc/$pid/maps:该文件记录了进程的映射内存区信息。 例如:#cat /proc/851/maps 2.常用命令讲解 ls 命令 用来查看用户有执行权限的任意目录中的文件列表,该命令有许多有趣的选项。例如: $ ls -liah * 22684 -rw-r--r-- 1 bluher users 952 Dec 28 18:43 .profile

linux基本命令学习笔记

一、常用系统工作命令 1.echo 用于在终端输出字符串或者变量提取后的值 2.date 用于显示系统的时间或者日期 date "+%Y-%m-%d %H:%M:%S" 指定格式查看当前系统时间 date -s "20180901 8:53:00" 设置系统当前时间 date "+%j" 3.reboot 4.poweroff 5.wget(暂时了解即可) 6.ps 查看系统中的进程状态ps aux -a 显示所有进程 -u 用户以及其他详细信息 -x 显示没有控制终端的进程 //linux系统中有长短格式之分长长不能合并,长短不能合并,短短可以合并; 合并后保留一个- 号、ps命令允许参数不加减号(-),因此直接写成ps aux ·五种常见进程状态: R (运行)S(中断)D(不可中断)Z(僵死)T(停止) 7.top 动态的监视进程活动与系统负载等信息“Linux中的强化班的Windows任务管理器” 8.pidof 用于查询某个指定服务进程的PID值,格式为“pidof[参数][服务名称]” 9.kill 终止某个指定的PID的服务进程。 10.killall 用于终止某个指定名称的服务所对应的全部进程、killall[参数][进程名称] 如果我们在系统终端中执行一个命令后想立即停止它,可同时按下Ctrl+C组合键,这样将立即终止该命令的进程。或者有些命令在执行时不断的在屏幕上输出信息,影响后续命令的输入,则可以在执行命令时在末尾加上一个&符号,这样命令将进入系统后台来执行。 二、系统状态检测命令 1.ifconfig 查看本机当前网卡配置与网络状态的信息 主要查看网卡名称inet参数后面的ip地址ether参数后面的网卡物理地址(MAC 地址)以及RX TX的接受数据包和发送数据包的个数及累计流量 2.uname 用于查看系统内核与系统版本等信息 uname -a 若要查看当前系统版本的详细信息,则需要查看redhat-release文件 cat /etc/redhat-release 3.uptime 用于查系统的负载信息 显示当前系统时间系统已运行时间启用终端数量以及平均负载值 平均负载值:系统在最近一分钟五分钟十五分钟内的压力情况 4.free用于显示当前系统的内存使用量信息free -h 5.who 用于查看当前登入主机的用户终端信息 https://www.doczj.com/doc/f312150161.html,st 用于查看所有系统的登录记录。(日志文件形式保存在系统中,因此黑客很容易对其进行篡改,不要用该命令的输出信息判断系统有无被恶意入侵) 7.history 显示历史执行过的命令(1000条)如果不够,可自定义/etc/profile文件中的HISTSIZE变量值。使用-c参数会清除所有命令历史记录。还可以使用“!编码数字”的方式重复执行某一次命令。

Kali linux学习笔记

H\gd gdips 。 m _?p.. +f\gd .+ ” ” /+ dn j dnj j apuudib jk iq\n 0+ 1+ 2+ + %bjjg c\ f m& .+ n \m c_in+i o m\ao+ jh AKP ncj_\idib+ jh cook7,,rrr+ skgjdo*_]+ jh,bjjbg *_jmfn, . oc E\mq mno m oc c\mq no m *_ hd mjnjao+ jh *g 2-- *] bjjbg

oc c\mq no m *_ hd mjnjao+ jh *] kbk oc c\mq no m *_ hd mjnjao *g /-- *] gdif _di oc c\mq no m *_ hd mjnjao+ jh *g 2-- *] \gg / h o\bjjg adg Rn\b 7 h o\bjjadg jkodjin *_7 _jh\di oj n \m c *o7 adg otk oj _jrigj\_ %k_a)_j )sgn)kko)j_k)j_n)_j s)sgns)kkos& *g7 gdhdo ja m npgon oj n \m c %_ a\pgo /--& *c7 rjmf rdoc _j ph ion di _dm ojmt %pn t n ajm gj \g \i\gtndn& *i7 gdhdo ja adg n oj _jrigj\_ *j7 rjmfdib _dm ojmt %gj \odji oj n\q _jrigj\_ _ adg n& *a7 jpokpo adg Bs\hkg n7 h o\bjjadg+kt *_ \kkg + jh *o _j )k_a *g /-- *i 2- *j \kkg adg n *a m npgon+cohg h o\bjjadg+kt *c t n *j \kkg adg n *a m npgon+cohg %gj \g _dm \i\gtndn& ” ” FM ” ” é ~ _inh\k _in iph ad m _in_d o3

linux操作系统实验报告

LINUX操作系统实验报告 姓名 班级学号 指导教师 2011 年 05月 16 日 实验一在LINUX下获取帮助、Shell实用功能 实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX下获取帮助信息的命令:man、help。 3、掌握LINUX中Shell的实用功能,命令行自动补全,命令历史记录,命令的排列、替

换与别名,管道及输入输出重定向。 实验容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,容是hello,然后再使用追加重定向输入容为word。 4、使用管道方式分页显示/var目录下的容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输入 命令Shutdown -h 30 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的容,只要在终端输入命令即可。取消更改的名称用命令unalias 命令:在命令后输入要取消的名称,再输入名称。 3.输入命令将文件容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入容为word。步骤与输入容HELLO一样,然后用命令显示文件的全部容。 4.使用命令ls /etc显示/etc目录下的容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

linux实验报告

实验一 实验名称:Linux 基本命令的使用 实验时间:2学时 实验目的:熟练使用Linux字符界面、窗口系统的常用命令。 实验内容 (一)Linux操作基础 1.重新启动linux或关机(poweroff,shutdown,reboot,init 0,init 6) 2.显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal) ①uname:查看系统与内核相关信息 uname -asrmpi 参数: -a :所有系统相关的信息; -s: 系统内核名称; -r: 内核的版本; -m:本系统的硬件名称,如i686或x86_64; -p: CPU的类型,与-m类似,只是显示的是CPU的类型; -i :硬件的平台(ix86). ②date:显示日期的命令 ③cal:显示日历 单独cal:列出当前月份的日历 cal 2014:列出2014年的日历 cal 5 2014:列出2014年五月的目录 3.使用帮助命令(man,help) ①man:是manual(操作说明)的简写,是在线帮助系统 man后跟某个命令就会详细说明此命令,例如:man man就会详细说明man 这个命令的用法; ②help:也是帮助命令,一般会在命令后,例如:cd --help 就会列出cd命令的使用说明。 4.查看当前登陆用户列表(who),显示当前用户(whoami) ①who:显示目前已登录在系统上面的用户信息; ②whoami:查询当前系统账户 5.建立一个新用户mytest,设定密码(useradd,passwd) ①useradd mytest(建立新用户mytest);

linux系统学习笔记

==============================智能娱乐系统=================== 硬件:中控:UI,音视频数据处理能力 操作:显卡,声卡、LED、游戏机、触控屏 ARM :cortex - A 软件:开发环境:vmware + linux(ubuntu) 程序开发:linux C 程序移植:交叉开发 效果:自动处理程序 一、Linux 命令 linux : 图形简陋---> 追求效率高 移植性强,开源性 linux :命令行形式进行交互 ls: 查看全部文件名/ --->根目录 pwd: 打印当前的路径/home/gec 等于~ ---> 家目录 cd : 直接回到/home/gec cd / : 回到根目录/ cd ..: 回到上一级的目录 ls -l 类型权限链接数创建者工作组大小日期目录名d rwxrwxr-x 2 gec gec 4096 Jul 2 2013 Desktop d:目录(第一个字母:-:普通文件d:目录) rwxrwxr-x:文件的权限r:读权限w:写权限x:执行权限 用户权限:rwx(创建者的权限)rwx(同组人)r-x(其他人) clear: 清除屏幕信息 touch 创建文件 touch xxxx ----> 因为身份是gec,所以必须在/home/gec中创建 rm 删除文件/目录 rm xxxx(文件名) ----> 因为身份是gec,所以必须在/home/gec中删除rm xxxx(目录名) -rf

gedit 编辑文件 gedit xxxx cat 查看文件内容 cat xxxx mkdir 创建目录 mkdir xxxx ----> 因为身份是gec,所以必须在/home/gec中创建 cp 拷贝命令 cp 文件名目录名---> cp abc.c 123/ chmod 修改文件的权限 -rw-rw-r-- 1 gec gec 20 Apr 14 19:43 abc.c 421421421 6 6 4 希望三个人都是可读可写可执行7 7 7 chmod 777 xxxx chmod 777 abc.c -rwxrwxrwx 1 gec gec 20 Apr 14 19:43 abc.c 二、linux与windows间的共享目录 1,在windows系统中的D:\创建一个名字为share的目录 2, "虚拟机" --- "设置" ---- "选项" --- "共享文件夹" --- "总是启用" ---"确定" 3,在linux系统输入以下命令来进入共享目录 cd /mnt/hgfs/share/ 4,在linux与windows分别创建目录和文件,观察两个系统的变化 =====================开发板的使用========================= 一、核心板

Linux实验报告

燕山大学 Linux技术上机实验指导

实验一Linux系统安装与简单配置 一、实验目的 1.掌握Linux系统安装的分区准备。 2.掌握Linux系统的安装步骤。 3.掌握Linux系统分区的挂载和卸载。 4.掌握Linux系统的启动和关闭操作。 二、实验内容 1.安装VMware虚拟机,设置光盘驱动器,为Linux系统安装做准备。2.在虚拟机下安装Linux操作系统(如Ubuntu桌面版本)。 3.配置Linux系统运行环境。 4.利用空闲分区创建新的Linux系统分区。 5.将新的Linux系统分区挂载到系统中;卸载新挂载的分区,重新挂载到目录树中的其他位置。 三、主要的实验步骤 1.制定安装系统的分区计划。 2.配置光驱引导镜像文件iso,启动系统,开始安装过程。 3.根据安装计划,对磁盘空间进行分区设置。 4.根据系统安装指导,完成Linux系统的安装过程。 5.安装成功后,退出系统,重新启动虚拟机,登陆Linux操作系统。6.对Linux系统进行配置,如网络设备等。 7.利用磁盘使用工具和mount,将新创建的Linux系统分区挂载到系统中。将新挂载的分区卸载,并重新挂载到目录树的其他位置。

实验二Linux常用命令使用 一、实验目的 1.掌握Linux一般命令格式。 2.掌握有关文件和目录操作的常用命令。 3.熟练使用man命令。 二、实验内容 1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。2.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。 3.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。 4.利用man命令显示date、echo等命令的手册页。 5.显示系统中的进程信息。 三、主要实验步骤 1.登陆进入系统,修改个人密码。 2.使用简单命令:date、cal、who、echo、clear等,了解Linux命令格式。

Linux学习笔记一

Linux学习笔记一 默认情况下,所有系统帐号与一般身份用户,以及root的相关信息,都记录在/etc/passwd 文件内;密码记录在/etc/shadow 文件中;Linux所有的用户组名称都记录在/etc/group内。不可随意删除这3个文件。 了解Linux文件属性,以root身份登录后输入|s -al查看具体属性设置。 文件前面第一个字符为.表示隐藏文件。 各字段依次的含义:文件属性,连接数,文件拥有者,文件所属用户组,文件大小,文件最 先修改时间,文件名 文件属性10字段: Linux文件类型: -普通文件。根据文件内容分:纯文本文件(ASCLL ),二进制文件(binary ),数据格式文件(data) ----last 命令 d目录, l连接文件link file ,b设备文件中可供存储的接口设备, c设备文件中串行端口设备如键盘鼠标 拥有者权限,同用户组权限,其他非本用户组权限

r read 读,w write 写,x excute 可执行 9个属性,3个一组,其中可用数字来表示各个属性:r--4 , w--2 , x--1,将同一组的3个属性相加:owner=rwx=4+2+1 Windows中,一个文件是否具有执行能力是通过扩展名"来决定,但在Linux中是通过是否具有x属性来决定的。 Linux文件扩展名: .sh :批处理文件(script,脚本),shell写成 .pl :程序语言Perl的文件 更改文件权限 charp改变文件所属用户组 chown改变文件拥有者 chmod改变文件的属性,suid等特性 chown还可以直接修改用户组的名称。什么时候用到chown和chgrp,比如将一个文件copy 给其他人时,复制后的文件拥有者仍然是原来的拥有者,所以得到文件复制分的用户仍然没有修改的权限,此时就需要修改文件的拥有者与用户组。 当我们以vi编辑shell的文字文件后,其属性通常都是-rw-rw-rw- , 666属性,如果要将它变成可执行文件,并且不能让其他人修改此文件,那么就需要修改文件的属性成 -rwxr-xr-x,755 属性

LINUX的FTP实验报告

LINUX的FTP实验报告 实验需求:为了实现文件传输,共享资源 实验环境:一台centos和一台XP客户机 实验步骤:首先打开centos再将安装光盘挂载上,输入命令“rpm -qa|grep vsftpd”查看是否有此软件,如果没有进入到光盘的挂载目录,然后输入命令“rpm -ivh vsftpd(然后使用补全)”,如图1所示,安装软件完成 图1 下面我们到配置文件中设置一下,输入命令“vi /etc/vsftpd/”就出现如图2所示,用末行模式加上行号

图2 我们将文件中的第27和31行启用,就是把前面的#删除即可,然后在31行下面写上“anon_other_write_enable=YES”这一行的意思是给匿名用户删除权限,第27行是给匿名用户上传权限,31行是给匿名用户创建、修改文件夹权限,如图3所示,修改完成后保存退出

图3 然后我们再到“/var/ftp/”下将pub文件夹的其它用户权限设为读、写、执行,输入命令“chmod o+w pub”如图4所示 图4 下面我们将两台虚拟机网段设置成3,将centos的IP设置为将XP的IP设置为如图5-1,5-2所示,都点击确定完成设置

图5-1

图5-2 然后我们在XP上测试一下网络是否畅通,如图6所示网络畅通 图6

下面我们到centos上启动FTP服务,输入命令“service vsftpd restart”, ,我们启动成功,下面我们到XP上测试,我们的设置是否生效,如图7所示,我们访问成功 图7 我们测试一下上传和删除功能,如图8-1,8-2所示,设置生效,我们实验成功

linux 学习心得

linux 学习心得.txt喜欢我这是革命需要,知道不?!你不会叠衣服一边呆着去!以后我来叠!我一定要给你幸福,谁也别想拦着。linux,sh脚本编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash的大姐,bourne shell 中运行)。 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。 当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行: chmod +x filename 然后,您可以通过输入: ./filename 来执行您的脚本。 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。 变量 在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写: 变量名=值 取出变量值可以加一个美元符号($)在变量前面: #!/bin/sh #对变量赋值: a="hello world" # 现在打印变量a的内容: echo "A is:" echo $a 在您的编辑器中输入以上内容,然后将其保存为一个文件first。之后执行chmod +x first 使其可执行,最后输入./first执行该脚本。 这个脚本将会输出: A is: hello world 有时候变量名很容易与其他文字混淆,比如: num=2 echo "this is the $numnd" 这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索

Linux 及其使用环境实验报告

计算机语言与程序设计上机实验报告 学号:姓名:所在系:班级: 实验名称:实验1 Linux 及其使用环境实验日期 实验指导教师实验机房及机号 ------------------------------------------------------------------------------------------------------ 1.实验目的 (1)1、了解UNIX的命令及使用格式。 (2)熟悉UNIX/LINUX的常用基本命令。。 2.实验内容 (1)熟悉UNIX/LINUX的常用基本命令如ls、who、w、pwd、ps、pstree、top 等。 (2)使用passwd命令,date命令,uname命令等显示机器及环境相关信息(3)使用whoami命令找到用户名。然后使用who -a命令来看看你的用户名和同一系统其他用户的列表 (4)使用目录相关命令熟悉目录操作,文件操作,掌握相对路径及绝对路径(5)学习后台命令运行 3. 实验步骤 (1)显示目录文件ls 命令:在**目录下,运行ls –la, 运行结果为 (1)显示目录文件ls 命令:在**目录下,运行ls –la,运行结果为

(2)pwd命令的使用,创建目录:mkdir命令: 结果为 (3)查看文件内容:cat命令;

(4)删除目录:rmdir命令 (5)显示目录内容:ls命令

(6)改变工作目录:cd命令 (7)删除文件:rm命令

(8)复制文件或目录:cp命令; (9)移动或更改文件,目录名称:mv命令

(10)查看系统中的使用者:who命令 (11)改变文件或目录的存取权限:chmod命令

linux读书笔记

第一次学shell编程,看的文章中说shell程序必须以"#!/bin/sh"开始,也就认为是这样了。 虽然知道在shell中以"#"开始的语句都是注释,但也从没认为"#!/bin/sh"也是注释,就像对C语言程序必须有main函数一样毫无怀疑。 但前些时候又听说"#!/bin/sh"也是注释,可有可无,当时觉得真是一个失败,连基本的语法都分不清。 前几天借了一本书,才真正认识了"#!/bin/sh"。 shell编程是以"#"为注释,但对"#!/bin/sh"却不是。 "#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。 如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell。 比如:如果脚本被编写为在Korn Linux中运行,而默认运行shell脚本的为C shell csh,则上述脚本在执行过程中很可能失败。 所以建议大家就把"#!/bin/sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。 即: #!/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。 其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。 比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。 那我们真的能写一个/bin/echo的脚本文件吗?我们来试试,下面是一个例子:代码: #!/bin/echo –e 这只有一行的程序(实际上它也只能是一行,echo程序并不是被设计成像awk那样的编程语言,能写成源程序文件)命名为myecho,加上权限后执行它: 代码: $ ./myecho "hi\a" ./myecho hi 如果你的echo支持-e选项并且你工作的环境还算安静,你在得到上面的结果的时候也应该听到清脆的终端响铃。但这种程序是毫无作用的。 1、linux分区 --在linux里面所有的设备、任何东西,在linux看来都是文件。 --文件在它看来,有两种形式: 第一种是字符型(键盘输入、打印机); 第二种是二进制型(硬盘、光驱、U盘) --linux中所有硬件

兄弟连linux学习笔记

4.1.1 文件处理命令 命令格式 命令+选项+参数 ls -la /etc 命令ls 显示目录文件 语法:-a 显示所有文件-l详细信息显示-d查看目录属性 -rw-r--r-- - 文件类型(-文件d目录l软链接文件) rw -r-- r-- u g o u所有者g所属组o其他人 r读w写x执行 4.1.2 目录处理命令 mkdir创建新目录 语法:mkdir -p(目录名)递归创建

cd 切换目录 语法:cd (目录) pwd 显示当前目录 语法pwd 4.1.2.4 rmdir 删除空目录 语法:rmdir (目录) cp 复制文件或者目录 语法:cp -rp (源文件或目录)(目标目录)-r 复制目录 -p保留文件属性 mv 剪切文件、改名

语法:mv (原文件或目录)(目标目录) rm 删除文件 语法:rm -rf (文件或目录) -r 删除目录 -f 强制执行 4.1.3 文件处理命令 touch 创建空文件 语法:touch (文件名) cat 显示文件内容 语法:cat(文件名) -n 显示行号 tac 显示文件内容(反向)

语法:tac(文件名) more 分页显示文件内容 语法:more(文件名) (空格)翻页 (Enter)换行 q 退出 less 分页显示文件内容(可向上翻页)语法:less (文件名) head 显示文件前面几行 语法head (文件名) -n 指定行数 tail 显示文件后几行 语法tail (文件名) -n 指定行数 -f 动态显示文件末尾内容

4.1.4链接命令 ln 生成链接文件 语法:ln -s (源文件)(目标文件) -s创建软连接 软链接特征:类似Windows快捷方式 lrwxrwxrwx l 软链接 软链接文件权限都为rwxrwxrwx 文件大小- 只是符号链接 /tmp/issue.soft -> /etc/issue 箭头指向原文件 4.2.1权限管理命令 chmod 改变文件或目录权限 语法:chmod [{ugoa}{+-=}{rwx}] (文件或目录)[mode=421 ](文件或目录) -R 递归修改 权限的数字表示 r ---- 4 w ---- 2

实验四-同步与互斥-Linux实验报告

实验四-同步与互斥-Linux实验报告

实验四同步与互斥 【实验目的和要求】 1、掌握进程(线程)的同步与互斥。 2、掌握生产者消费者问题的实现方法。 3、掌握多线程编程方法。 【实验内容】 实现生产者消费者问题 1、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。 2、仓库中每次只能入一个(生产者或消费者)。 3、仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。 4、当仓库空时,消费者不能从中取出产品。 5、生产、消费速度不同。 【实验原理】 1、信号量mutex提供对缓冲池访问的互斥要求并初始化为1,信号量empty和 full分别用来表示空缓冲项和满缓冲项的个数,信号量empty初始化为n,信号量full初始化为0。 2、定义如下结构及数据: 定义缓冲区内的数据类型:typedef int buffer_item; 缓冲区:buffer_item buffer[BUFFER_SIZE];

对缓冲区操作的变量:int in,out; 信号量mutex提供了对缓冲池访问的互斥要求:pthread_mutex_t mutex; 信号量empty和full分别表示空缓冲顶和满缓冲顶的个数:sem_t empty,full; 可以设定生产者的生产速度及消费者的消费速度:int pro_speed,con_speed; 对缓冲区操作的自增函数:#define inc(k) if(k < BUFFER_SIZE) k = k+1;else k=0 3、并定义了如下实现问题的函数模块: 将生产的产品放入缓冲区: int insert_item(buffer_item item) 从缓冲区内移走一个产品: int remove_item(buffer_item *item) 生产者进程:void *producer(void *param) 消费者进程:void *consumer(void *param) 生产者结构进程消费者结构进程 【程序代码】 //sx.c #include

Linux心得体会

《Linux操作系统》学习心得体会# @ 姓名:杜昕 学号:89 班级:计科普1004班

一、摘要 Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。因为我是学习嵌入式方向的,这学期就选修了这门专业任选课。为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。 关键词:Linux、嵌入式、心得 【 《 ( 《

》 二、Linux简介 Linux是一种广泛使用的类UNIX操作系统,它不仅可以在Intel,AMD等系列个人计算机上运行,也可以运行在许多工作站上。它是真正多用户、多任务操作系统,他继承了UNIX系统的主要特征,具有强大的信息处理功能,特别在Internet和Intranet应用中占有明显优势。 1991年,芬兰赫尔辛基大学的学生Linux Torvalds在Inter386个人计算机上开发了Linux核心,并利用互联网发布了源代码,从而创建了Linux操作系统。之后,许多系统软件设计专家共同对它进行改进和提高。到现在为止,Linux 已成为具有全部UNIX特征、与POSIX兼容的操作系统。 ! Linux的功能强大而全面,与其他操作系统相比,具有一系列显著特点:(1)与UNIX系统兼容。 (2)自由软件和源码公开。 (3)性能高和安全性强。 (4)便于定制和再开发。 (5)互操作性高。 (6)全面的多任务和真正的32位操作系统。 ) 当今的Linux有两种版本:核心版本和发行版本。其中核心版本主要是Linux 的内核。其官方版本由Linux Torvalds本人维护着。发行版本是各个公司推出的版本,他们与核心版本是各自独立发展的。常见的发行版本有以下7种:(1)Red Hat Linux/ Fedora Core (2)Debian (3)Ubuntu

linux 红帽7学习笔记rh134

Redhat Enterprise Linux 7 RH134 Document 齐凯斌编著 北京没有出版社出版

目录 RH134-UNIT1 kickstart批量部署系统-------------------------------------------3 RH134-UNIT2 grep配合正则表达式----------------------------5 RH134-UNIT3计划任务---------------------------------------------------------------6 RH134-UNIT4进程优先级管理-----------------------------------------------------6 RH134-UNIT5 ugo权限补充----------------------------------------------------------8 RH134-UNIT6 SElinux ------------------------------------------------------------------9 RH134-UNIT7 ldap、自动挂载------------------------------------------------------10 RH134-UNIT8磁盘分区--------------------------------------------------------------12 RH134-UNIT9 LVM管理、RAID管理----------------------------------------------13

Linux学习笔记(CentOS)

Linux学习笔记 1 Linux 入门教程 Linux,在今天的广大电脑爱好者心中已经不再是那个遥不可及的新东西了,如果说几年前的 Linux 是星星之火的话,如今 Linux 不仅在服务器领域的应用取得较大进展,而且在桌面应用领域也有越来越多的人选择使用。Linux 的开放性和灵活性使它得以在实验室和其它研究机构中被用于创新性技术变革的前沿,现在 Linux 已经真正地向广大的电脑爱好者们敞开了大门。 只要你对 Linux 感兴趣,想要学习 Linux,那么本教程将带你走进 Linux 的世界。第一章初识 Linux 在学习使用之前我们还是先来了解一下 Linux 吧。 Linux 是什么?按照 Linux 开发者的说法,Linux 是一个遵循 POSIX(标准操作系统界面)标准的免费操作系统,具有BSD 和SYSV 的扩展特性(表明其在外表和性能上同常见的UNIX 非常相象,但是所有系统核心代码已经全部被重新编写了)。它的版权所有者是芬兰籍的 Linus B. Torvalds 先生。 1.熟练掌握基本命令。每个系统都有自己特定的语言环境,Linux 也不例外,只有熟悉并熟练掌握 Linux 的常用基础命令才可以深入学习。 2.系统管理及运用。系统的管理包括启动、用户、进程以及安全管理等等。大体上都是通过命令来进行配置文件及脚本文件的。 3.源码的学习和研究。由于内核的相似,Linux 同 UNIX 一样都是由 C 语言开发而成的,所以了解 UNIX 的朋友学习起来相对容易。 4.内核开发。现在的很多服务器系统,网络设备,安全防护软件以及手机系统和掌上PDA 的操作管理系统都是由Linux 编程开发而成的,所以内核的开发学习当然必不可少。 5.数据库及服务器领域。如今Linux 做的服务器在市场中占有率第一的位置无可动摇,其中包括:WWW 服务器,FTP 服务器,mail 服务器,数据库服务器等等多种服务器。 了解了学习的目的和方向后,下面以CentOS为例来介绍Linux使用,可以使用安装好的Linux虚拟机。 2 Linux 常用基本命令及常用技巧 新手刚刚接触Linux 的时候可能处处感到不便,不过没有关系,接触新的事物都有这样的一个过程,在你用过 Linux 一段时间后,你就会逐渐了解 Linux 其实和 Windows 一样容易掌握。 由于操作和使用环境的陌生,如果要完全熟悉Linux 的应用我们首先要解决的问题就

实验一进程创建 Linux实验报告

实验一进程创建 【实验目的和要求】 1、1.了解进程的概念及意义; 2.了解子进程和父进程; 3.掌握创建进程的方法。 【实验内容】 1、1.子进程和父进程的创建; 2.编写附件中的程序实例; 3.撰写实验报告。 【实验原理】 1、原型: #include pid_t fork(void); 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。fork函数创建子进程的过程为:使用fork函数得到的子进程是父进程的一个复制品,它从父进程继承了进程的地址空间,包括进程上下文、进程堆栈、内存信息、打开的文件描述符、信号控制设定、进程优先级、进程组号、当前工作目录、根目录、资源限制、控制终端,而子进程所独有的只有它的进程号、资源使用和计时器等。通过这种复制方式创建出子进程后,原有进程和子进程都从函数fork返回,各自继续往下运行,但是原进程的fork返回值与子进程的fork返回值不同,在原进程中,fork返回子进程的pid,而在子进程中,fork返回0,如果fork返回负值,表示创建子进程失败。 子进程和父进程继续执行fork调用之后的指令。子进程是父进程的副本。例如,子进 程获得父进程数据空间、堆和栈的副本。注意,这是子进程所有用的副本。父进程和子进程并不共享这些存储空间部分。父进程和子进程共享正文段。 2、原型: #include pid_t vfork(void); vfork函数的调用序列和返回值与fork相同,但两者的语义不同。vfork函数用于创建一个新进程,而该进程的目的是exec一个新程序。vfork不将父进程的地址空间完全复制到子进程中,因为子进程会立即调用exec,它在父进程的空间中运行。vfork保证子进程先运行,在它调用exit之后父进程才可能被调度运行,当子进程调用这两个函数中的任意一个时,父进程会恢复运行。 【程序代码】 1、1_fork.c

相关主题
文本预览
相关文档 最新文档