Linux培训笔记之Linux基础命令

Linux培训笔记之Linux基础命令,有点凌乱,大家自己看看吧。

1.卸载原有的输入法,fcitx或ibus。如卸载fcitx:

sudo apt-get remove fcitx*(如不需保留配置文件用purge)
sudo apt-get autoremove(自动卸载依赖软件)
sudo apt-get upgrade
sudo dpkg –-get-selections | grep fcitx(查询fcitx相关的软件包是否卸载)
grep 多个条件查询
@linux:~$ lastlog | grep -E "tty|pts"
zhangjianlin    tty3                      三  7月 10 20:54:34 +0800 2013
wangjianjian    pts/2    192.168.1.3      三  7月 10 20:50:33 +0800 2013

@linux:~$ lastlog | grep -e tty -e pts
zhangjianlin    tty3                      三  7月 10 20:54:34 +0800 2013
wangjianjian    pts/2    192.168.1.3      三  7月 10 20:50:33 +0800 2013

一、文件
ls stat alias /bin/ls
pwd echo $HOME echo $USER
alias ii ="ls -l" vi /~./bashrc add "alias ii = ls -l "
ps pstree

useradd xx
useradd -s /bin/bash -g zhangjianlin -m wangjianjian 创建用户
userdel -r wangjianjian

passwd xx
mima:

二、系统命令
hostname: hostname uplooking.com
ifconfig: echo 192.168.0.180  Ubuntu:/etc/network/interfaces 
netconfig  ubuntu:有线:ifconfig 无线:iwconfig
service network restart 网卡服务重启
uname 查看系统 脚本安装判断unix 还是linux uname -a -r
id id -u -g if id -u != 0 不安装软件


date +%m%d touch `date +%m%d`.log 创建日志文件
cal
file /bin/ls

加盘
mount
mount /dev/sda1 "/mnt/usb = /" umount /mnt/usb
touch {1,2}
mount /dev/sdb1 /mnt sdb u盘 1分区
mount -t vfat /dev/sdb1 /mnt fat32的u盘
mount /dev/cdrom /mnt
mount -t iso9660 /dev/cdrom/mnt 挂载光盘
mount //192.168.0.1/tools /mnt mount cifs //192.168.0.1/tools /mnt
mount -t cifs -o username=adminstrator //192.168.0.1 /root/mnt远程共享
mount 192.168.0.254:/var/ftp/pub /mnt

iso
cat /dev/cdrom > a.iso
mount -t iso9660 -0 loop a.iso /mnt //要用到弧还虚拟技术必须用-o loop
思考:共享 ,不用ftp

du 看文件大小
du aaa.tar.gz 看文件大小
看文件夹实际大小du - s Desktop
df 显示分区的占用 df -h
ssh 192.168.1.23
apt-get install openssh-server
/etc/init.d/ssh restart
service sshd stop
service sshd start

三条层次不同
shutdown -h now 关机,会执行下面两个命令
init 0 关掉服务
halt -p -f 或poweroff 断电

shutdown -r now 重启
init 6
reboot

三、
useradd passwd usedel groudadd grounddel gpasswd
passwd(用户) shadow(密码) group gshadow /home/ cp -r /ect/user/* /home/user/
chown -R user.root /home/user 批量更改文件夹的拥有者


安全
who $user
w
skill -9 pts/3
mesg Y
write pts/2 root  发送消息
wall lat finger zhangjianlin  公告
每个用户lastlog 最后一次登陆
last 最近登陆的


cat /dev/sda  cat /etc/passwd > /dev/sda毁盘勿用
dd if=/dev/sda1(分区) of=/mnt/a.log
echo 1 >/dev/tty1

ls -al /tmp/.font-unix/
文件类型 -d l b c s p

权限
chmod guo+x file 相当于 chown a+x
chmod a-x FILE
chmod -R g+w /tmp/work/文件下的文件全部修改
链接
ln a b 硬链接 怕文件删除
ln tem/a b
stat a ls -l a b
ln -s /etc eee 软链接,可以链接文件夹,一般情况都用软链接

chown zhangjianlin LInux
chown -R shrek.ttt /tmp/ 修改文件夹的拥有者

ls-ld Desktop

x cd
rx cd ls
wx cd touch rm vi (self other)
wxt cd touch rm(self) vi(self)
chmod o+t testdir/  不能修改其他用户
touch testdir/{a,b,c}

linux 目录结构

umask 创建文件的默认权限 /etc/bashbc
/bin 必不可少所有人能执行 office
which ifconfig


四、vim
i o a s
r 替换
G last line gg first line
10 x 连续向后删除10个字符
ctrl + r redo
ndd
nyy  p P 向下粘帖 向上粘帖
set nu 显示行号
set nonu
:100光标到第100行
:r /etc/group  读入
:1,5 w >>aa.back 将第1行到第五行到aa.back
:e! 替代多次安u的命令
:1,$/nologin/bash/g从头到末尾替换
:1,$/nologin/bash/gc替换前询问
vim -o or -O /etc/passwd /etc/group
换页ctrl + w
五、文件查找压缩
linux 系统文件查找与压缩
文件搜索
which查找 可执行文件 搜索path的 which x
where 跟which 差不多,只是比which 多了帮助文件所在目录//不常用
slocate ls `which locate` -l 查自己的数据库 跟updatedb相配的
locate -r '.newfile.*'
find 从当前目录开始查找 如 find / -name **file*
find /etc -name "network" -exec file {} \;  //{}查找到的路径
find /etc -name "network" -ok file {} \;  //{}查找到的路径询问
find /etc -name "network" -ok rm {} \;  //{}查找到的路径询问
find /etc -user sherk -a(and) -group shark -ls    //{}查找到的路径询问
find /etc -user sherk -a(and) -group shark -a -type d    //{}查找文件夹
find / -user -type -name -group -perm -size -mtime -ok -ls - exec
find / -perm -777 -type d -ls
history
grep  grep -R linux ./* 递归查找 文本文件含有 linux的文件的行内容
  grep -R -l zhangjianlin /etc 只列出文件名

压缩
gzip,gunzip 最广泛的压缩工具
linux系统中标准的压缩工具
对于文件夹能够达到很高压缩率
bzip,bunzip2
新版linux压缩工具
比gzip拥有更高的压缩率

gzip A 压缩时原文件删除了(非文夹夹)
gzip -d *.gz
bzip A
ls A* -l
bunzip2 a.bz2
bzip2 -d A.bz2
tar 只是打包作用
tar cvf /tmp/root/.tar . 创建打包
tar cvf /tmp/root.tar /etc/passwd /etc/shadoe /etc/sysconfig/ 创建压缩包
tar rvf /tmp/root.tar /etc/passwd /etc/shadoe /etc/sysconfig/加入文件
tar xvf /tmp/root.tar -C /tmp/ddd/ 解压到某一个文夹夹
tar xvf /tmp/root.tar 解压到当前包 tar cvf rvf xvf tvf
tar cvfz /tmp/root/tar.gz /root /etc/passwd /etc/showdow
tar xvfz /tmp/root/tar.gz
tar xvfz /tmp/root/tar.gz -C /tmp/ddd/
tar cvfj /tmp/root/tar.tar.bz2 /etc/passwd etc/shadow 解压.tar.bz2文件
ls *.tar -l
第六、文件的操作命令正则表达式
grep '\<zhangjianlin\>' /etc/passwd
head more less wc
head -n 3
tail -f
tail -n 20
grep -v(文件属性,POSIX) -l(反向,不包含) -R -c -A2 -B2
tail tail -f /var/log/message 实时监控
wc file 统计字数
grep zhangjianlin /etc/passwd | cut -d: -f1,3,5  -d 分割符 -f field
cut -d':' -f2 /etc/passwd | grep zhangjianlin
grep zhangjianlin /etc/passwd | cut -d: f7
cut -c1-3 /etc/passwd  查看前三个字符
sort -t':' -k 3 -n  /etc/passwd  n num -t分割符 默认[TAB] 这里设置:为分割符
sort -t':' -k 3 -n  /etc/passwd > /tmp/a
sort -t':' -k 3 -n -r /etc/passwd > /tmp/a -r反向
du | sort -n -r | head -n 3|cut -f2
wc -l -w -c 几行 几个单词  多少个字符
unit  -i 忽略大小写字符的不同
-c 进行计数
sort -d: -f 2 /etc/passwd | uniq | wc -l 记几个不同
diff a.txt b.txt
echo 's.*k',.任意一个字符,×任意一个前面的字符
grep 's.*k' /etc/passwd
grep 'shrek$' /etc/passwd $以shrek结尾
grep '^shrek' /etc/passwd 以shrek开始的
\<s..k\> 单单以<s..k>
a\{18\} 出现18次a的
vim /user/share/dict/words linux linux单词字典
grep 'c.\{18\}s$' /usr/share/dict/words 查看以s结尾的,以c开始的中间任意18个字符
grep -v '^#' /etc/bash.bashrc | grep -v '^$' | wc -l 查看以“除#开头,空行”后的内容
grep '^[^a-x]' /etc/passwd 不是a到x开头的

.表示任意一个单一字符
.*表示零个或任意一个字符
^a 以a为首的行
a$< 表示以a为尾行
\<good 表示以good开头的单词
sh\>表示以sh结尾的单词
[abc]表示当前位置a、b或c
[^abc]表示除了a、b或、c以外的字符
a^ 表示空、a、aa、aaa、乃至更多个a
a?表示一个或另个单独的a
a+表示a、aa、aaa、乃至更多个a 如go+d
a\{n\}表示重复n次
^$ 空行
^# 不以#为开始的
a\{n,\m} 重复 n或m次
扩展正则表达式
| 或 如'^$|^#' egrep -v '^$^#' file
a+表示a、aa、aaa、乃至更多个a 如go+d
a? 0个或1个a以上
(abc)+ 多个abc 组合

系统性能指标
vmstat
字段说明:

r  (run queue)可运行队列的线程数,这些线程都是可运行状态,只不过CPU暂时不可用;

b,被blocked的进程数,正在等待IO请求;
in,interrupts,被处理过的中断数
cs,context switch,系统上正在做上下文切换的数目
us,用户占用CPU的百分比
sys,内核和中断占用CPU的百分比
id,CPU完全空闲的百分比

uptime
00:44:22 up 1:17, 3 users, load average: 8.13, 5.90, 4,94   
显示的是过去的1,5,15分钟内进程队列中的平均进程数量

free -m
磁盘IO
1.良好状态指标
cat /proc/meminfo
这台机器总共有 256MB 物理内存(MemTotal),90MB 左右可用内存(MemFree),8MB左右用来做磁盘缓存(Buffers),40MB左右用来做文件缓存区(Cached)。

sar -d 2 3
await表示平均每次设备I/O操作的等待时间(以毫秒为单位)。
svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。
%util表示一秒中有百分之几的时间用于I/O操作。
如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。
如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。

iostat
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
 wrqm/s:    每秒进行 merge 的写操作数目。即 delta(wmerge)/s
 r/s:            每秒完成的读 I/O 设备次数。即 delta(rio)/s
 w/s:        每秒完成的写 I/O 设备次数。即 delta(wio)/s
 rsec/s: 每秒读扇区数。即 delta(rsect)/s
 wsec/s: 每秒写扇区数。即 delta(wsect)/s
 rkB/s:    每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。(需要计算)
 wkB/s: 每秒写K字节数。是 wsect/s 的��半。(需要计算)
 avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
 avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
 await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
 svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
 %util:    一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)


如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
 idle小于70% IO压力就较大了,一般读取速度有较多的wait.

同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/19490.html