Ubuntu学习笔记

UNIX的特色
1:所有的东西都是以档案的形式存在,包括硬件也是
2:所有的设定要存放在文字档中
3:每个程序都很小,并只负责单一的功能
4:串联很多单一功能的小程序去完成许多复杂的工作

Linux的特色
1:具有与Unix相似的操作方式和程序界面
2:多用户多任务
3:支持很多新的硬件设备
4:从网络上得到新的资源

在文字模式下登录成功后用此命令可以启动至图形界面:
startx

重启系统:
reboot
shutdown -r now
shutdown -r +3(3分钟后重启系统)

关机:
shutdown -h now
shutdown -h +3(3分钟后关机)

创建一个用户
useradd user1

删除一个用户
userdel user1

给某个用户修改密码:
passwd user1

给当前登录的用户修改密码:
passwd

查看某个用户密码的状态:
passwd -S wenjf
passwd --status wenjf


列出档案:
ls(列出当前目录下的非隐藏档案)
ls -l(列出当前目录下的非隐藏档案的详细信息)
ls -a(列出当前目录下的所有档案)
ls -i(列出当前目录下的非隐藏档案以及档案的inode)
ls --version(查看系统的版本信息)
ls -ld(查看这个目录本身的属性)

显示当前日期及时间
date
显示时间和日期
date +%D%T
date +%F%r
更多显示日期和时间的信息可以查看date --help
修改时间
date -s 19:00

显示当前的日历
cal
cal 2009
cal 6 2009
cal 2008 > 2008calender
cat 2008calender

取得指令相关说明的方法:
whatix ls(取得某个指令的简短说明信息)
ls --help(不是所有的指令都有help的功能)

理解使用帮助说明文档的内容
[]表示参数是可选可不选的
<>表示参数是可变的
x|y|z

进入man后查看信息的快捷键
man passwd
1:用上,下,左,右键
2:pgup,pgdn
3:/查询某个关键字
4:n/N,在查询结果中向上,或向下搜索
5:q离开
man -k passwd在所有的manpage中列出所有有passwd关键字的manpage

进入info后查看信息的快捷键
info ls
1:pgup,pgdn
2:TAB键:转移到下一个链接点
3:Enter
4:n/p/u:查看前一个,后一个,上一个接点
5:s[]查找关键字
6:q离开

系统说明文件可以查看
ls /usr/share/doc

linux 目录档案系统
/root 超级用户的家目录

/home/ 一般用户的家目录 并且使用每个使用者的username 当做家目录的名称

/bin 系统命令的执行档
/usr/bin
/usr/local/bin

/sbin 系统管理命令的执行档
/usr/sbin
/usr/local/sbin

/media 用于挂载可移储式的储存媒体
/media/floppy 通常用来挂载软碟
/media/cdrom 通常用来挂载光碟
/mnt
/mnt/floppy 通常用来挂载软碟
/mnt/cdrom 通常用来挂载光碟

/etc 所有系统设定档 例如 账号 密码

/tmp 给一般的使用者存放他们的暂存档 方便他们交互使用

/boot 存放的是这个系统的核心以及这个系统开机所要的档案

/dev 这台电脑里面的所有装置

/usr 类似windows 作业系统里面的 Program Files

/lost+found 在每个独立切割的 partition 中都存在这个目录
由于系统的 错误原因 造成的 错误片段 存放与这个目录

/var 经常会变动的档案 例如 log email

/srv 所有 更 server 有关的服务

/proc 反映 Kernel 的环境 是一个虚拟的目录 不占用系统空间
存放的是记忆体里面的所有资讯

/lib 函式库 许多应用程式 都会呼叫一些共用的函式
/usr/lib
/usr/local/lib

查看当前工作的目录
pwd

查看当前登录的用户
whoami

cd的用法
回到根目录
cd /
回到家目录
cd $HOME
cd ~
回到上一级目录
cd ..


cp的用法
cp file1 file2 file3 destination(把一个或多个文件复制到某个目录下面)
cp -p file1 file2 file3 destination(复制的文件保持原来的时间)
cp -r directory1 directory2 directory3 destination
cp -p -r directory1 directory2 directory3 destination = cp -a directory1 directory2 directory3 destination

rm的用法
rm -r directory1 directory2 directory3
rm -f 强制删除档案不会出现是否删除的提示信息

mv的用法
mv file1 file2(重命名文件)
mv directory1 directory2(重命名文件夹)
mv destination1 destination2(搬移文件)
mv file1 file2 file3 directory(搬移多个文件到某个目录里面)
mv directory1 directory2 directory3 directory(搬移多个目录到某个目录里面)

建立目录
mkdir

删除空目录
rmdir

删除目录
rm -r

查看档案属性/格式
file file1
file directory

cat的用法
cat file1
cat -A file1
cat -s file1
cat -b file1
可以比较以上几个命令的不同输出结果

less的用法
1:pageup,pagedown
1.1:b上移一页
space下移一页
ctrl+d下移半页
ctrl+u上移半页
g到文件新顶端
G到文件新底端
2:/text向下查找关键字
?text向上查找关键字
3:n查找下一个关键字
4:v快速进入编辑模式,i进入INSERT模式,ESC离开INSERT模式,:wq回到命令行

touch的用法(创建一个新的空白的文件)
touch 1.txt 2.txt 3.txt
touch a{a,b,c}.txt
touch {e,f,g}{x,y,z}.txt
万用字源:
* 匹配 0 到 多个字元
? 匹配 1 个字元
[a-z] 匹配 括号 里的字元
[^a-z] 匹配 括号 里 以外 的字元
通过以下方式查看文件,以熟悉万能用字源的用法
ls *.*
ls ?.* ls ?.txt
ls ??.* ls ??.txt
ls e[x-z].* ls e[x-z].txt
ls ?[x-z].* ls ?[x-z].txt
ls ?[^x-z].* ls ?[^x-z].txt

bash shell
` 倒引号
echo "Hostname:`hostname`"
echo "Hostname:$(hostname)" 命令先执行 倒引号 里面的内容 再把值 付给上外面的命令
a=3
echo $a
b=4
echo $b
c=5
echo $c
echo $[$a + $b + $c]
echo $[$a * $b * $c]
echo $[$a / $b / $c]
echo $[$a % $b % $c]
echo $[$a ** $b]
echo your cost is $5.00
echo your cost is $5.00
echo your cost is "$"5.00
echo your cost is '$'5.00

''可以把所有的符号都转移为字符串
""除了$ ` !这四个外,可以把所有的符号都转移为字符串
eg1:
echo $a
echo "$a"
echo '$a'
eg2:
echo $HOME
echo "$HOME"
echo '$HOME'
eg3:
echo today is `date`
echo "today is `date`"
echo 'today is `date`'
eg4:
echo !1083
echo "!1083"
echo '!1083'

set -o vi #切换成 vi 指令编辑模式
set +o vi #关闭 vi 指令编辑模式
set -o #查看当前的指令编辑模式

gnome-terminal的快捷键
ctrl+shift+t:打开一个终端窗口
ctrl+pageup/pagedown:跳转到下一个或上一个终端窗口
alt+"N":跳转到第"N"个终端窗口
ctrl+shift+c/v:复制/粘贴
ctrl+shift+w:关闭一个窗口


档案系统的 7 种形态
- regular file #档案
d directory #目录
l symbolic link #用来标示文件链接
b block special file #用来标示每一个 block 大小的档案 ls -l /dev/sda1
c character special file #硬件设备的档案 例如 键盘 鼠标 ls -l /dev/mice
p named pipe #用来在 程序之间 传输资料 ls -l /dev/initctl
s socket #程序执行的同时 依据socket的特性 在程式当中沟通 ls -l /dev/gpmctl

检视还有多少剩余空间
df
df -h
du
du -h /root |more 检视每个目录以及子目录使用了多少硬盘空间
du -sh /root

016. 资料 导入导出
> #导入 如果没有文件 则 新建 再 导入 有文件 则 (覆盖)
>> #导入 如果没有文件 则 新建 再 导入 有文件 则 (追加)
< #一般是把导入的文件 给命令执行

$ find /etc -name passwd 1> stdout
$ find /etc -name passwd > stdout #预设是 只有 1 被导入到文件里 (同上)
$ find /etc -name passwd 2> stderr
$ find /etc -name passwd 2> errs 1>output
$ find /etc -name passwd 1> alloutput 2>&1 #到所有的讯息到文件里
$ find /etc -name passwd &> alloutput #效果同上 -- 建议不要使用 & 符号 因为 & 包含 (0,1,2,3...)

tr 'A-Z' 'a-z' < /home/wenjf/.bash_profile(把.bash_profile文字里的大写字母转换为小写字母并输入到屏幕上)

017. cut 显示档案里某个特定栏位的资料
-f 显示某个范围 或 某个栏位
-d 指令范围之间的间隔符号 (默认是TAB)
-c 指定某个字元到某个字元
cut -f3 cut.tab
cut -f2 -d. cut.csv
cut -c4-8 cut.csv
cut -f1 -d: /etc/passwd
ll -h A*.AVL |cut -c49-53 |uniq
ll -h A*.AVL |cut -c49-53 | sort -u

sort 对资料排列
-r 做反向排序
-f 不区分大小写
-u disticnt

-t 设定栏位间的间隔符
-n 把排列的字串用作数值来做排列
-k 设定那一栏来做排列
-k 可以设定为 两栏 当第一栏有重复时 以第二栏作排序
sort sort.1
sort -r sort.1
sort -rf sort.1
sort -rfu sort.1
sort -t: -k3 -n /etc/passwd

Pipe(|) 管道符 -- 可以让各种命令工具协同工作
sort -t: -k3 -n /etc/passwd | cut -f1 -d: /etc/passwd
cut -f1 -d: /etc/passwd | sort -r | less
ls -l | mail -s "3rd mail" user2 #利用pipe 发邮件
cat delete_file.txt | xargs rm -f #使用 xargs 可以使得 上一个命令执行的结果 导入到下个命令中继续执行
ls -l | lpr #打印

邮件
#发送邮件1版
mail -s "1st mail" oracle #按回车 就可以输入邮件 正文 "1st mail" 为邮件标题
hello oracle,this is your first mail!
Goodby.
. #单独输入. 则表示正文结束
Cc: #表示是否转发邮件 是 则输入 邮件地址 否则 回车

#发送邮件2版
mail -s "2nd mail" oracle < history.txt

#发送邮件3版 --使用 | 发邮件
ls -l | mail -s "3rd mail" oracle

#收邮件1
cat /var/spool/mail/oracle

#收邮件2
mail
x # 输入x表示退出但是不删除邮件;输入q则读取后删除邮件
阅读过的邮件全部会搬移到 $home/mbox 里面

tee 用于资料分流
cut -f1 -d: /etc/passwd | tee cut.file | sort | tee sort.file | less
# tee 就是把 分流的文件 导入到 别的文件里 然后执行下面的命令

用户
系统中每一个用户都有一个唯一 uid
用户名和uid 都储存在 /etc/passwd 文件列

less /etc/passwd #打开 /etc/passwd 档案
oracle:x:500:500::/home/oracle:/bin/bash

oracle: username:
x: x表示这个user必须用密码登陆 如果是空白的表示这个用户不用密码密码:
500: 这个user的 uid:
500: 这个user的 gid:
: 这个user的 full name 我们可以在这个栏位中记录这个user的通讯资料 或者是这个user 的其他说明:
/home/oracle: 这个user的home目录的路径:
/bin/bash 但这个用户登陆后第一个要执行的程序

less /etc/shadow #打开 /etc/shadow 档案
oracle:$1$sMTWeyij$xQJgZnlkWpmks.PG6t9.x0:14085:0:99999:7:::

oracle: username
$1$sMTWeyij$xQJgZnlkWpmks.PG6t9.x0:
经过md5编码处理过后的密码 如果这个栏位是以 $1$ 开头的话 表示这个user 已经设定好密码了 如果是 !! 开头的话 则 没有设定密码
0:
99999:
7:
:
:

group 用户组
系统中的每一个user 都至少隶属于 一个group 每个user 都至少会加入到一个 跟他同名的 group 里面 也可以加入到其他的group里面
如果一个档案 属于group 的话 那么这个 组里面的所有user 都可以存储这个档案

less /etc/group
dba:x:501:oracle

dba: group name
x: 必须使用密码登陆
501: gid
oracle 这个栏位记录这个group 里面有那些成员

less /etc/gshadow
dba:!::oracle

dba: group name
!: 密码 通常我们不对 group 设定密码
:
oracle

档案安全性

1. 档案权限
r = read 4 ; w = write 2 ; x = execute 1 ; - = no permission

[root@whlt ~]# ll
total 88
-rw-r--r-- 1 root root 1273 Jul 25 15:02 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Jul 25 15:16 Desktop
-rw-r--r-- 1 root root 54287 Jul 25 15:02 install.log
-rw-r--r-- 1 root root 4970 Jul 25 15:02 install.log.syslog

以 Desktop 说明
d d = 目录 ; - = 档案 ;
rwx 表示 档案所有者的权限 u usr
r-x 表示 档案所有者的所在的 组的 权限 g group
r-x 表示其他用户的权限 o other


档案安全性
设定 档案和目录权限

chmod -R mode file #-R 表示 档案里面全部改成这种权限
chmod ugo+w file1 把写的权限开放给U,G,0(所有人)
chmod 111 file1
chmod 000 subdoc
chmod ugo+rwx subdoc
chmod ugo-rwx subdoc
不过 我喜欢用 chmod -754 结果为 rwx r-x r-- 数字表示法 比较方便

mv `ls ?04003*.AVL` ../sqlload/04003
wc -l D0105120090326000001.AVL


lftp mddms:1@130.71.246.35
du . -sh
cd /home/oracle/test/sub
mv `find ./ -name "a.txt"` z.txt
cd /home/oracle/infa/server/infa_shared/SrcFiles/data_bak/DAY/20090430
ll *.AVL | awk '{if ($5>0)print $NF}' | cut -c1-6 | sort | uniq
ll *.AVL | awk '{if ($5>0)print $9}' | cut -c1-6 | sort | uniq

find /home/oracle/infa/server/infa_shared/SrcFiles/data_bak/ -name "*.AVL" -exec gzip {} ;

mv `find ./ -name "?02001*"` ../../sqlload/02001

mount /dev/cdrom cdrom/

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16313746/viewspace-1029387/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16313746/viewspace-1029387/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值