中国开发网: 论坛: 数据库: 贴子 824600
DeepBlue: Linux 笔记
打开控制台
ctrl+alt+F1~F6(在vmware下,由于ctrl+alt为鼠标解锁键,需要按shift+ctrl+alt+F1~F6)

返回图形界面
alt+F7

快速logout
图形界面ctrl+Alt+Backspace
控制台 Ctrl+d

回到当前用户的主目录(home)
cd (默认情况下cd会采用目录~)
cd ~ (~代表当前用户的主目录,可灵活应用,如 mv ~/webpage.html ., 移动住目录的webpage.html刀当前目录)
cd $HOME

后退一层目录
cd ..

回到上次的工作目录
cd -

一次创建多层次目录
mkdir -p dir1/dir2/dir3

一行包含多个命令
用封号分隔开: mkdir 1; mkdir 2

删除空目录
rmdir

删除非空目录
rmdir -r

删除非空目录并取消确认
rmdir -rf

包含子目录列出文件
ls -R

包含以.开头的隐含文件
ls -a

只列出目录
ls -d */

统计目录数
ls -d */ |wc -l

改变文件的拥有者
chown new_owner filename

改变文件的组拥有者
chgrp new_group filename, 新组必须是当前发命令的用户所在的组之一

改变文件的操作权限
chmod 777 filename
chmod <a|u|g|o> <+|-=> <rwx(权限字符串)> filename
r=4, w=2, x=1, 文件权限的八进制计数法,通常称为文件的模式

新文件默认权限
可执行文件 755 rwx r-x r-x
一般文件 644 rw- r-- r--

权限屏蔽字
umask <八进制权限屏蔽字>, umask是不要的权限的集合
redhat 默认 022
对可执行文件 .not. <八进制权限屏蔽字>
对非可执行文件 666.and. .not <八进制权限屏蔽字>

修改控制台的分辨率
1、vi /boot/grub/menu.lst;
2、find the line like this:
kernel /boot/vmlinuz-2.6.8-2-686 root=/dev/hda1 ro
3、add "vga= ***" after "hda1","***"can be replaced by the number like the following table:

##################################################################
color 640x480 800x600 1024x768 1280x1024
256 769 771 773 775
32000 784 787 790 793
65000 785 788 791 794
16.4M 786 789 792 795

常见目录
/bin:存储用户常用指令
/boot:存储核心、模块映像等启动用文件
/dev:存储设备文件
/etc:存储系统服务的配置目录与文件。像注册表
/home:用户主目录
/lib:存放库文件,像核心模块,驱动
/lost+found:存储fsck用的孤儿文件或丢失文件。
/mnt:系统加载文件系统时常用挂载点
/opt:第三方工具使用的安装目录
/proc:虚拟文件系统,包含系统信息等资料
/root:root用户的主目录
/sbin:存储系统管理用指令
/tmp:临时文件暂存点
/usr:存放于用户直接相关的文件与目录
/var:存储在系统运行中可能会更改的数据

查询文件并过滤权限错误信息
find / -name filename -xdev 2>/dev/null
这里的2>dev/null 是把permission denied 错误信息过滤到空输出/dev/null
-xdev是不要搜索其他文件系统,如软驱等

查找文件并执行命令
find /etc -size +200K -exec cp {} /tmp/big \; 2>dev/null
这里 -exec执行命令, {}代表find返回的结果, 命令以;结束,由于;对bash来说是命令分隔符,所以加逃逸符号\

more及|
more是翻屏暂停命令, |是管道符
space翻一屏, enter一行
q,ctrl-c退出

less
less是more增强版,支持page-up,page-down,home,end
q退出
less -N 带行号显示

diff与cmp
diff以行为单位比较文本,把有差异的行显示出来
cmp以字符为单位比较文本, -l可显示出不同的内容

“Tab”键
1. 只需输入文件或目录名的前几个字符, 然后按TAB键,如无相重的,完整的文件名立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字.


 2. 在命令行下,只需输入例如"m",再连续按两次TAB键,系统将列出所有以"m"开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用.例如输入"ftp",将查到ftp,ftpcount,ftpwho,ftpshut等本不熟悉的命令.

鼠标拷贝与粘贴
Linux系统安装后,每次启动到字符界面时都会自动运行一个叫“gpm”的程序,该程序运行后就可以用鼠标来拷贝与粘贴了。具体做法是按住鼠标左键拖动使要拷贝的地方突出显示,这时突出显示的区域已经被拷贝,再按鼠标左键拷贝的内容就会被粘贴在光标所在位置了。如果我们在Xwindow下运行Linux系统,拷贝与粘贴的操作与在Windows 9x系统下一样。

提示符
root用户为#, 其他用户为$

删除用户
userdel -r username
-r 参数表示删除用户的工作目录

查看用户资料
finger username

查看环境变量
set
env

查看某个环境变量
echo $xxxx

调试Shell文件
在shell文件中加入set -v, 后面的命令执行前会在屏幕上先显示出来; set -x 后面的命令会在进行定位参量替换后显示出来。

杀掉进程
kill pid
无条件杀掉进程 kill -9 pid
结束所有后台进程 kill 0

命令运行不受父进程(如 shell)状态影响
nohup <命令>

后台执行命令
<命令> &

指定优先级运行命令
nice <优先级> <命令>

定时运行
at <时间>
命令
ctrl+d

at <时间> -f <shell 文件>

查看定时的任务
at -l
atq

删除定时的任务
at -r <任务号>

系统负载轻时运行
batch

周期性运行命令
编辑/usr/spool/cron/crontabs/crontab

查看内部命令的帮助
help cd

> 把输出重定向并覆盖
>>把输出从定向并追加

查找命令的位置
which mv

XWindows下开虚拟终端
右键单击桌面-->Open terminal

echo--把键盘输入重定向到标准输出

tail 显示文件的最后几行
tail -n 20, filenam 显示最后20行
tail -f filename 显示默认的最后10行,并保持文件打开状态,多用于监视不断更新的系统日志

确定用户的成员身份信息
id username

转换用户身份
su username
su - username 使用新用户的shell来转换身份

sudo
sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现

转换主要组
newgrp (或sg)

查看当前登录的所有用户
users

查看自己所属的所有组
groups

增加用户
useradd, adduser

增加组
groupadd

修改用户命令
usermod ,可以通过usermod 来修改登录名、用户的家目录等等

chmod, chgrp, chown都有 -R来实现目录递归

硬连接
ln source target, 2个dentry 指向同一个inode再指向data

软(符号)连接
ln -s source target, 2个dentry指向2个inode, 连接的data指向源的文件名,OS使用时由data解析出源文件名并使用。

Linux不允许同一目录下文件和子目录同名

gzip
-c 输出重定向到标准输出
-d 解压
-r 对目录进行递归,将里面的文件进行分别压缩
-1..9 压缩级别, 9的压缩率最高

tar
-c 创建归档文件
-x 释放归档文件
-t --list 列出归档文件内容
-C 进入某目录
-P 不剥离起始路径的/
-v 列出正在处理的文件
-z 使用gzip压缩/解压
-j --bzip2 使用bzip2压缩/解压
*注*由于tar的第一个选项必须有,因此可以不使用连字符'-',例如:
tar tf /tmp/mytar.tgz


图形化的归档管理程序
file-roller

防火墙设置
lokkit --disabled --enabled

Esc+. 和 Alt+.
粘贴上一个命令行命令的参数到当前位置, 例如:
mkdir bin
chmod 700 alt+.
cd ESC+.

():用于生成一个子shell来执行括弧中的命令,然后退出子shell,例如:
(cd /etc/sysconfig;ls)相当于
bash
cd /etc/sysconfig;ls
exit

bash的只读变量
? 最新执行的命令的退出状态
- 当前启用中的shell选项标记
$ 当前shell的进程id
! 最新后台命令的进程id
_ 前一个命令的最后标记
PPID shell父进程的id
SHELLOPTS 被毛好隔开的当前启用中的shel选项列表,和set -o命令结果一样
UID 当前用户的id

bash预赋值的变量
BASH_VERSION 当前bash的版本
HOSTNAME 当前机器的dns主机名
OLDPWD 上一次工作目录
PWD 当前工作目录
RANDOM 介于0到32767的随机数
SECONDS 自shell启动以来的秒数

bash shell转义
\ 避免下个字符被shell转义
"..." 双引号,避免$,!,`(反引号)外的字符被转义
'...' 单引号,避免所有字符被转义

"." "." 点, 单独作为一个字出现时是 source的同义词, 非单独出现时表示当前目录

sysctl -p Load in sysctl settings from the file specified or /etc/sysctl.conf if none given.

超级终端terminal的快捷键
Ctrl-Shift-t // 新建一个terminal TAB
Ctrl-Shift-w // 关闭TAB窗口
Ctrl-PgUp/PgDn // TAB切换
Alt-"N" // N->1,2,3,4,5... TAB之间的切换

Ctrl-Shift-c/v // 在Terminal中复制、粘贴

配置启动的服务
setup-->service(文本图形界面)、ntsysv(文本图形界面)、chkconfig xxxx on|off、Applications-->System Settings-->Server Settings-->Services

查询某安装包是否安装
rpm -qa | grep xxxxx

启动或停止某服务
service xxxx start|stop

SCP的使用
设有两机,均为局域网,两机可相互通信无问题,中间无防火墙。两机IP分别为:A:192.168.1.240 B:192.168.1.102。假设A,B机的SSH都允许root登录,假设要把 A上的 /root/abc.zip 传到 B机并放到/abc目录,可以在A机上用命令
scp /root/abc.zip root@192.168.1.102:/abc/

若SSH端口不是默认的22,比如,是端口1234 则加-P参数:
scp -P 1234 /root/abc.zip root@192.168.1.102:/abc/

也可以在B机上用命令:
scp root@192.168.1.240:/root/abc.zip /abc/

SHH登录
ssh -l RemoteLoginName RemoteHostName
ssh -l root 192.168.1.1

SFTP
ssh加密的ftp:
sftp username@hostname

set the keyboard character repeat rate
xset r off

xset r on

And to change the time/delay:

xset r rate [X] [Y]

Where [X] is the number of milliseconds you'd like the system to wait before the key repeats, and [Y] is the number of times per second you'd like it to repeat once it's repeating.


不采用拷贝整个父目录的方式,拷贝当前目录的所有文件和目录
for f in `ls -A`; do cp $f DEST_DIR; done

DEST_DIR是目标目录

更好的方法是:
#ls -A cpio -p /tmp/aa


执行力=流程+计划+组织

把理想变成计划,
把计划变成步骤,
把步骤变成行动,
把行动变成成果。

好語說盡人必易之。規矩行盡人必繁之。福若受盡緣必孤。勢若使盡禍必至。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录