当一个用户登录的时候默认的路径是用户的主目录 ,也就是home下面用户的主目录
从命令行切换到图形界面:startx
从图形界面转为命令行 :右键 open_terminal
进入到根 目录 cd /
进入dev cd dev
忘了现在处于哪个目录下面 pwd
忘了是谁 whoami
列出当前目录下的所有 ls
xx 目录的命名:分区名的前两个字母标明分区所在设备的类型。通常是hd(ide磁盘) 或者sd(scsi磁盘)
y 这个字母标明分区所在的设备。例如,/dev/hda(第一个ide磁z盘) 或/dev/sdb(第二个scsi磁盘)
N 最后的数字代表分区。前四个分区(主分区或扩展分区)是用数字从1排列到4,逻辑分区从5开始,例如/dev/hda3 是在第一个ide硬盘上的第三个主分区或扩展区 。/dev/sdb6 是在第二个scsi硬盘上的第二个逻辑分区 (逻辑分区永远从5开始)
mount 和挂载点:
查看dev 下面的cdrom 设备(光驱) 直接cd cdrom 打开是不行的,因为他是一个设备,只能把它看着一个目录处理,与新建的目录相连,一般把这个目录放在mnt 下面
cd /mnt
ls
mkdir cdr
ls
mount /dev/cdrom /mnt/cdr
断开挂载: umount /dev/cdrom
或者 umount /mnt/cdr 会出现device is busy 那是因为现在还处于cdr 这个目录中 cd.. 退出然后操作就可以了
删除目录: rmdir cdr
bash 是shell的名称
分区:手动分区,自动分区
/ ----根分区
/usr ----应用软件存放位置
/home ----用户宿主目录的父目录
/var ----存放临时文件
/boot ----存放启动文件128M is enough
SWAP ----交换分区
内存的两倍
可以不建 但是不建议 有的程序或默认使用swap分区
window 中有pagefile.sys的文件相当于交换分区
磁盘分区方案
至少两个分区
/ 分区
swap 分区
个人桌面分区
/ 分区
/boot 分区
/usr 分区
swap 分区
光盘刻录再加一个/tmp 分区
-------------------------------------------------------------------------------------------------------
linux boot sequence(important) 启动顺序
1. load bios
2. read MBR config (mbr 硬盘的第一个磁盘的什么。。。记录分区信息 ,选的登陆系统有的机子装了多个系统)
3. load the kernel of the os
4. init process starts
5. execute /etc/rc.d/sysint rc.d run command d代表的是demon 精灵线程
6. start other modules(etc/ modules.cof
)
7. execute the run level scripts
8. execute /ect/rc.d/rc.local(非常重要,比如说装了tomcat以后,让他自动启动 就要修改此脚本中的文件)
9 execute /bin/login
10 shell start..
etc目录 系统中非常重要的东西 系统 一般不知道不能乱动
linux 首先是内核启动 然后外面的启动是分层次的 每一个层次之间是没有关系的 启动都是不一样的 linux 下面 分了七个层次启动
0 系统停机状态
1 单用户工作状态
2 多用户状态(没有NFS) nfs 网络的文件的系统 可以和其他的联网操作
3 多用户状态(有NFS)
4 系统未使用,留给用户
5 图形界面
6 系统正常关闭并重启
命令 退出
当前的界面 :exit login out
shutdown 关机
reboot 重启
按伍下esc 会出现 diaplay ....什么的 ---意思是要不要显示2000多个命令
y 就会显示出来
回车 就会显示更多
q 就退出了
linux 退出有几个命令 q crtl +c crtl +d
不会用一些命令的时候可以 如: shutdown or shutdown --help or shutdown --?
或者man shutdown 会把所有的信息都罗列出来
shutdown now 就关机了 然后关电源 init 0 可以关机 有的可以
base command 1
ls 会罗列出所在目录下面的所有目录和文件,无法看出那些是文件 那些是目录
ls -l 就会以列的方式罗列出来 左边以d开头的全部是目录 以--(横杠)开头的都是文件
列出的信息有 文件的操作权限 个数 创建人 所有人 时间 目录名称
ls -m 是以适合屏幕的宽度来罗列
rm -r dl 删除目录 -r 的r是
recursion 递归 删除一个目录都会询问是否删除
rm -rf dl(目录名称) 这样就不会询问是否删除
创建空文件 touch 1 在linux 中,从技术的角度来讲文件的后缀名没有任何的意义
ls -r ls -R 列出所有子目录
tree 这个命令有的不认
cp 拷贝 cp 1 4 把1拷贝成4 拷贝文件
拷贝目录 cp -r d1 d2
移动 mv d1 d2 把d1 移到d2 mv d1 /master
vi 很有意思 文本编辑器 有四五十个命令
vi 1.txt 如果有1.txt 就打开编辑 如果没有就创建 并且可以编辑
vi 两种模式 命令模式 和 编辑模式 刚打开就是命令模式
敲 a 就可以到编辑模式了 a 表示的是append添加的意思
编辑完想保存要切换到命令模式 点击esc 可以多敲几下 下面的insert 就没有了
wq 是存盘
退出
q!是不存盘退出
wq!
查看文件的内容 more 1.txt
dd 删除其中一行
dw 删除一个单词
o 往下插入一行
O 大写的o 往上插入一行
cat 1.txt 按顺序列出所有的数据
tac 1.txt 反序列出
head 1.txt 列出所有数据 可以带参数 head -3 1.txt 列出前三行数据
tail 带参数查看文件 选择倒数几行
find 按文件名 、大小等等去查
find / -name *local / 代表是在根目录下面, *local是代表的文件名称 记不住全名 用*代替
-name 是固定写法
find /etc -name *lcoal
whereis 查找系统文件所在路径
whereis ls
cmd dos 下面看路径 是echo %a% 如看path 的环境变量 echo %path% 每个路径用;隔开
linux 下面看 是echo $PATH 大写 每个路径用:隔开
ln 硬链接 ln 3.txt 4 , more 4 打开的信息和3.txt 内容是一样的
软连接 ln -s 3.txt 5 more 5 软连接就相当于快捷方式 硬连接就相当于copy 了一份 但是修改3的内容 4 会跟着变 这也是与copy的不同, 5也会变 但是如果删了3 4还是会有内容 5 就不会了
软连接 5 背景色是绿色的 删了3 5变成红色
ls -l
5是lrw开头的 表示是连接
linux 是多用户的 同时可以有很多用户同时运行
useradd user ,adduser user 添加用户 ,在home 目录下就会自动创建一个user目录
指定密码 passwd user
然后输入两次密码就行
在etc目录下有个passwd 目录里面有相关信息 但是无密码信息在里面
shell 就是linux 内核的外层 目的是 翻译命令与内核打交道, 我们敲的命令就不可能与内核直接打交道
而shell又有很多不同的形式 什么cshell ksh 类似于C语言这样的shell
不同的shell执行的命令是不一样的 很多命令很多shell执行是不一样的 也是就很多命令在不同版本的linux下执行是不一样的,很多命令也不是通用的,也有一些通用的 如vi ls等
redhat 我们现在用的是bash shell 它的前身是bsh shell
比如敲csh 就表示用的是cshell了 不同的shell命令可能都不同 所有linux 这个也麻烦
exit 退出到上一层csh 敲了多少个sh 就敲多少exit 退出
最原始的shell 就是sh 这个里面只有一些基础的命令
etc/group 目录 存放组的信息
当添加用户的时候 不指定用户存放在那个组的时候 就会添加一个与用户一样的用户组
添加组 groupadd groupname
useradd username -g groupname
修改用户在那个组 usermod -g groupname username
userdel username 但是在home下并没有删除它的目录 要删除只能rm -rf username
除了登录其他用户 ,还可以在命令中测试 su useranme 就到了另一个用户的 exit 就退出了
ls -l 后出现信息的
- 代表的是文件 l 代表的是连接 d代表的是目录 后面还有9个字母 分成三组
r代表的是读的权限 w代表写的权限 -代表没有任何权限 x代表的是执行 一共分为4种权限类型
d rwx rwx rwx
第一组代表的是文件的所有者可操作的权限
第二组代表的是文件的所有者同组的所有人的操作权限
第三组代表剩下其他人所拥有的权限
修改权限 chmod +x 4 表示给4添加所有用户都有 可执行权限
chmod -x 4 修改4 所有用户 不可执行的权限
chmod u+x 4 表示只对当前用户添加4的可执行权限
chmod g+x 4 让同组的人有4的可执行权限 当前用户没有此权限
chmod o+x 4 让其他的人有可执行的权限 当前用户没有此权限 所在用户组的所有人也无此权限
linux 中用三个八进制数 也就是九位
chmod 755 111 101 101
改变拥有者
chown user 4 把4的拥有者改成user 拥有
-----------------------------------------------------------------
wc 4 统计文本行数 字数,字符数
grep 在指定的文本中查找指定的字符串
grep aaaa 4 在4中查找包含aaaa的字符行
管道
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入
使用方法:
命令1|命令2|命令3......|命令n
使用举例
$ ls -Rl /etc | more 分页显示
$ cat /etc/passwd | wc 显示多少行
$ cat /etc/passwd | grep lrj 查找lrj用户名的信息
# dmesg | grep eth0 查找包含eth0(网卡)的信息 0表示的是第一个 网卡
ls -Rl /etc | more 分页显示 etc 目录下面的东西
ls -l | grep "^
d" 列出所有的目录 ^ 表示一行的开始 ,
ls -l* | grep "^-
" | wc -l 只列出所有的连接 统计数目-------最后显示的是统计条数
col 过滤字符
wall a 所有的窗口都会收到 a 这个信息 wall --- warning all 通知所有人
wall `date ` 表示把date 命令执行的结果发送给所有的人 `这个符号是1左边的那个键
重定向:把命令执行的结果 从定向到一个文件里 ls > 1.txt
ls >> 1.txt 就是把ls 直接结果复制两遍到1.txt 下面
lssss 2> 1.txt 2>是错误从定向 ,lssss因为没有这个命令 系统会报错,此时就不会打印出窗口之中,而是把
错误保存在1.txt之中
上面的是重定向 输出
重定向输入 vi 2.txt 写一些东西 然后wall < 2.txt 会把2.txt里面的信息通知给所有人
怎么把数据传到linux系统上去,
1.window 和linux 共享文件夹 需要在linux 上装一个samba 的服务器 只能在同一局域网中 所以不常用
2.ftp 2.1ftp服务器建在window 上 linux下载 2.2 ftp 服务器建在linux 上,然后上传
修改系统的启动级别 3;5; 3是界面的 5是纯命令行的
vsftpd d代表的是后台的进程 跟rc.d 一样
service vsftpd start
ftp localhost 验证是否开启成功
bye 退出ftp
rpm -qa | grep vsftpd 查看是否已经安装若没有,
则安装,如下:rpm -ivh vsftpd-2.0.5-16.el5.x86_64.rpm修改启动方式,
改为系统启动时,自动启动,如下:chkconfig vsftpd on(验证:只要2--5为on,就表示自动启动
,如下:chkconfig --list |grep vsftpd)重启vsftpd #service vsftpd restart #service vsftpd start
linux ip
ifconfig
一台服务器有两块网卡 通常叫网关
rpm - ivh vsftpd-1.1.3-8.i386.rpm 安装ftp
ping ip
ping 通 说明在一个网段 而且正常
ftp ip 连不起 可能是ftp 服务没有启动 或者是有防火墙等
关闭防火墙 或者打开连接端口
service iptables stop
ftp 关键 文件 /etc/vsftpd/vsftpd.cof
匿名登录ftp anonymous
从专业的角度来想不应该允许root用户上传,因为系统用户的ftp 的用户是放在一起的 当允许root 上传后,就可能让别人用root 测试你的密码 不安全也不专业
最好自建用户 允许上传
允许root 上传的修改两个文件: more /etc/vsftpd.user_list
里面设置了那些用户拒绝访问 ;denied
所以编辑文件 vi
vsftpd.user_list
两种 要么删了root 要么注释 #root wq退出
第二个文件 vi vsftpd.ftpusers 注释即可
重启ftp
bye 退出
也可以用命令上传
ftp 开机自启动
etc/rc.local 加入 /usr/local/bin/vsftpd & 表示是一个后台进程
chkconfig vsftpd on vsftp开机自动启动
chkconfig --level 5 vsftpd on vsftp在第5级别p开机自动启动
chkconfig --list | grep vsftped
chkconfig --list | more
chkconfig vsftpd on 设置默认系统自启动
chkconfig vsftpd off 设置默认系统不启动
修改系统配置 固定启动层 3 ? 5
etc 下 inittab ----》 more inittab 下面 id:3:initdefault:
vi 修改inittab id如果为3 就会只启动命令行界面 如果为5 就启动ui界面
wq 不好使用的时候 先shift+: 然后输入wq 回车
bin 文件安装 写死这个目录在哪儿 回车安装 ./soft/...
rpm 安装
源码安装
linux 每个软件的安装路径都不一样,所以都要记住 这也是管理员如此麻烦的原因 jdk 安装在/usr/java 目录下
tomcat 格式tar.gz 怎么解压 绿色软件无需安装 apache-tomcat-6.0.37.tar.gz 双层压缩 从外往里解压
tar 命令
gzip 解压缩 gzip -d 文件名 解压
tar -xvf 文件名
修改文件名 mv 文件地址 文件名(重新写)
tomcat bin 下面有很多可以做启动执行的 这里可以执行 ./startup.sh 启动tomcat
JAVA_HOME的指定 直接指定安装路径 在usr 下面
JAVA_HOME=/usr/java/jdk1.6.0 这样设置的java_home只对当前窗口起作用 应该设置成全局的
设置完成后 export JAVA_HOME 这样别人才能用
ps -ef 列出所有的进程
process
ps -ef | grep tomcat6
结束tomcat : shutdown 另一种 杀进程 kill
kill -9 强制杀死 kill 跟上进程id号 id号 ps -ef | grep tomcat6 第一个数字就是
telnet ip
显示javahome echo $JAVA_HOME
安装成功后需要配置jdk环境变量
用cd命令进入/etc目录sudo vi profile即执行编辑profile文件命令
在umas k022前添加如下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_07
export JRE_HOME=/usr/java/jdk1.6.0_07/jre
export PATH=$PATH:/usr/java/jdk1.6.0_07/bin
export CLASSPATH=./:/usr/java/jdk1.6.0_07/lib:/usr/jdk1.6.0_07/jre/lib
rpm ---- redhat package manager
查看是否装有jdk rpm -qa | grep jdk 查询出包名
卸载 rpm -e jdk包的名称---就是grep jdk 搜索出来的名称
强制卸载
安装 rpm -ivh jdk文件名称 rpm文件 与上面卸载的名称不同 卸载要的是jdk的包名
命令调用光驱 mount /dev/cdrom /mnt/cdr
cd /mnt/cdr
然后当前目录找所需要的包
find . -name perl* . 表示的是当前所在的目录下
copy 包 cp 包的路径 /software
linux 下 永远大小写区分 查看mysql 是否运行 ps -ef | grep mysql
查看包是否安装好 rpm -qa | grep MySql 注意大小写
安装好后 敲mysql 就进入到mysql 里面了
chkconfig --list | grep mysql
可以看到2-5层都是on 说明mysql 安装的时候已经注册成了一个后台的服务所以默认就是开机自启动
默认用户名root 没有密码
命令设置密码:
指定密码 passwd user
然后输入两次密码就行
linux 执行sql语句文件 source /software/train.sql
mysql 默认安装在
字符编码集 apache+tomcat 负载均衡
apache tomcat 合并
然后负载均衡
今天登录我们学校的ftp,发现ftp登不进去。后来进入服务器,运行以下命令:
[root@localhost etc]# service vsftpd start
出现以下的提示: vsftpd :unrecognized service ,我查看etc没有vsftpd的目录,于是我想到这个服务器不是装的vsftp。
我用“lsof -i :21 ”查看,发现xinetd里面的gssftp服务占用了21号端口。
[root@localhost etc]#lsof -i :21
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
xinetd 4293 root 5u IPv4 10445 TCP *:ftp (LISTEN)
我做了以下的操作:
1.在/etc/xinetd.d的目录中,修改gssftp配置文件
[root@localhost /]#vi /etc/xinetd.d/gssftp
service ftp
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/ftpd
#server_args = -l -a
server_args = -l -aserver_args = -l -a
log_on_failure += USERID
}
修改“disable = yes”为“disable = no”,修改“server_args = -l -a”为“server_args = -l ”(去掉“-a”)
2.启动xinetd服务
[root@localhost /]#service xinetd restart
ok!!!
做实验时有时需要将FTP服务器vsftpd的默认根目录(/var/ftp/pub)修改成指定的其他目录,比如/media/ftp/pub/ 修改vsftpd的配置文件/etc/vsftpd/vsftpd.conf,添加下面三行
local_root=/media/ftp/pub
chroot_local_user=YES
anon_root=/var/www/html/
local_root 表示本地用户登录后的根目录,也就是非匿名,而是输入用户名和密码登录进入的,这里顺便说一下ftp登录的格式 ftp://username:passwd@localhost anon_root anonymous用户,即匿名用户访问的主目录 但是这时候可能会出现以下报错: [root@localhost pub]# lftp localhost lftp localhost:~> ls ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable anonymous root 原因还是权限设置问题: 是ftp默认主目录权限设置不对,我这里报这个错误是因为/media/ftp设置权限为777,/media/ftp/pub设置权限也为777。正确的权限设置是将/media/ftp权限设置为755,chmod 755 /media/ftp后重启ftp服务就ok了。 |
1.添加用户组
使用groupadd命令添加用户组:
groupadd group_name
此操作需由系统管理员进行。
2.删除用户组
使用groupdel命令删除用户组:
groupdel group_name
此操作需由系统管理员进行。
3.定义组管理员
使用gpasswd命令指定组管理员:
gpasswd-A user group_name
此操作需由系统管理员进行。
4.设定组密码
使用gpasswd命令设定组密码:
gpasswd group_name
此操作由组管理员进行。
5.取消组密码
使用gpasswd命令取消组密码:
gpasswd-r group_name
此操作由组管理员进行。
说明:取消密组码后,只有成员才可以通过newgrp命令切换入该组。
6.添加组成员
使用gpasswd命令向指定组添加成员用户:
gpasswd-a user group_name
此操作由组管理员进行。(usermod也可以;)
7.删除组成员
使用gpasswd命令从指定组中删除成员用户:
gpasswd-d user group_name
此操作由组管理员进行。
本文来自: 高校自动化网(Www.zdh1909.com) 详细出处参考(转载请保留本链接):http://www.zdh1909.com/html/linux/11811.html
常用命令
ls 列出目录和文件
-开头表示文件
d开头表示目录
cd 进到目录
pwd
mkdir 创建目录
rmdir 删除目录
rm -rf filename
touch 创建文件
rm -rf 强制删除
cp 复制文件
mv 移动文件
wc 统计指定文本文件的行数 字数 字符数
vi 文本编辑器
dd 删除当前行
o 在当前行之下新开一行
O 在当前行之上新开一行
r 替换当前字符
R 替换当前字符及其后的字符, 直至按ESC 键
ESC 返回vi命令行模式
:q 未做修改退出
:wq 存盘退出
:q!不存盘退出
more 查看文件
cat 按正序查看文件
tac 按倒序查看文件
head 带参数查看文件 选择开始几行
tail 带参数查看文件 选择倒数几行
find 查找文件
find / -name my*
whereis 查找系统文件所在路径
whereis is
ln 文件连接 关联
ln - hard link
ln -s symbol link
grep 在指定的文本文件中查找指定的字符串
echo $PATH 查看环境变量
useradd username 添加用户
passwd username 设置用户密码
userdel username 删除用户
/home rm -rf username 然后删除用户目录
su username 切换用户 exit退回到之前的用户
/home 列出用户目录
/etc more passwd 列出所有用户 最后一行是新添加的
more group 列出所有组
groupadd groupname 添加组
usermod -g
csh $
bash # 比较普遍的命令模式
权限
r读 w写 x执行
chmod fielname 修改文件权限
chmod +x filename
chmod -x filename
chmod u+x filename
chmod 777(八进制表示权限)换成111 111 111(二进制) filename
Ctrl + C 结束显示
wall 发送信息给所有用户
wall `date` 替换命令显示时间发送信息给所有用户
shutdown now 马上关机
reboot 重启
信息显示命令
date 显示和设置日期时间
stat 显示指定文件的相关信息
who,w 显示在线登录用户
whoami 显示用户自己的身份
id 显示当前用户的id信息
hostname 显示主机名称
uname 显示操作系统信息
dmesg 显示系统启动信息
du 显示指定的文件(目录)已使用的磁盘空间的总量
df 显示文件系统磁盘空间的使用情况
free 显示当前内存和交换空间的使用情况
fdisk -l 显示磁盘信息
locale 显示当前语言环境
ifconfig 显示ip信息
管道
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入
使用方法:
命令1|命令2|命令3......|命令n
使用举例
$ ls -Rl /etc | more 分页显示
$ cat /etc/passwd | wc 显示多少行
$ cat /etc/passwd | grep lrj 查找lrj用户名的信息
# dmesg | grep eth0 查找包含eth0(网卡)的信息
$ man bash | col -b > bash.txt
col 过滤控制字符
在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
参 数:
-b 过滤掉所有的控制字符,包括RLF和HRLF。
-f 滤除RLF字符,但允许将HRLF字符呈现出来。
-x 以多个空格字符来表示跳格字符。
-l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
$ ls -l | grep "^d" 只列出目录
$ ls -l * | grep "^-" | wc -l 当前文件数(只显示所有文件的行数 字数 字符数)
重定向
>
FTP之Vsftp
service vsftpd start 启动vsftp服务
service vsftpd stop 停止vsftp服务
service vsftpd restart 重启vsftp服务
ftp localhost 启动ftp
bye 退出ftp
/etc/vsftpd
more vsftpd.conf 查看vsftpd配置文件
anonymous 匿名
/var/ftp/pub/ ftp主目录
/etc vsftpd.user_list 和 vsftpd.ftpusers 禁用的ftp用户上传列表
sshd
service sshd start 启动ssh服务
service sshd stop 停止ssh服务
service sshd restart 重启ssh服务
iptables 防火墙
service iptables start 启动iptables
service iptables stop 停止iptables
chkconfig:
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
语法:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name <on|off|reset>
chkconfig [--level levels] name
chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回true,否则返回false。如果在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和停止,reset指重置服务的启动信息,无论有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,但是reset可以对所有运行级有效。
--level选项可以指定要查看的运行级而不一定是当前运行级。
chkconfig vsftpd on vsftp开机自动启动
chkconfig --level 5 vsftpd on vsftp在第5级别p开机自动启动
修改系统启动级别
vi /etc/rc.d/rc.sysinit
挂载mount
mount /dev/cdrom /mnt/cdr 挂载光盘到指定目录
find . -name perl* 查找名称以perl开头的所有文件
rpm 安装rpm文件
rpm -ivh filename