Linux命令
man less:查看less的帮助手册
--help
sudo cat /etc/passwd:sudo用于获得ROOT权限而又不用知道ROOT密码
/etc/sudoers 配置sudo权限
cd:切换目录
cd ~:切换到/home/zyr/
cd:什么都不带,也是切换到自己的home目录。
cd -:切换到之前的目录
history:运行命令的历史
pwd:当前目录
ls:简要显示文件
ls -a:显示隐藏文件
ls -l:
ll:列表显示文件 在~/.bashrc中:alias ll='ls
-l'
ll -a:列表显示文件,包含隐藏文件
zyr@ubuntu:~$ ll 1.txt
- rw- r-- r-- 1 zyr zyr 6 2015-05-25 21:56 1.txt
-:普通文件
d:目录
l:链接
b:块设备文件
c:字符设备
s:套接字文件
user:group:other的属性
r:读-4,w:写-2,x:执行-1
1:表示占用的i结点数
zyr:user
zyr:group
6:文件大小
创建或修改日期
名字
echo hello > 1.txt
echo world >>1.txt
mkdir test:创建test目录
rm -f 1.txt:删除一个文件,不用询问
rm -fr test:删除一个文件夹
cp a b:拷贝文件
mv a b:重命名文件a为b
chown [-R] zyr:zyr 1.txt:把1.txt文件改为用户zyr,组:zyr
chmod 777 1.txt:把1.txt设置为rwx rwx rwx
chmod 666 1.txt:把1.txt设置为rw- rw- rw-
chmod u=rwx,og=rx 1.txt:将user设置为rwx,group,other设置为rx
chmod a+x 1.txt:将所有的加上执行
chmod u-x 1.txt:将user取消执行权限
chmod u+s 1.txt:将1.txt设置强制位
u-s取消 set-uid
chattr [+-=][ASaci [文件或者目录名]
+-= :分别为增加、减少、设定
A:增加该属性后,文件或目录的atime将不可被修改;
S:增加该属性后,会将数据同步写入磁盘中;
a:增加该属性后,只能追加不能删除,非root用户不能设定该属性;
c:自动压缩该文件,读取时会自动解压;
i:增加后,使文件不能被删除、重命名、设定连接、写入、新增数据;
chattr +i 1.txt:该文件不能被删除等
lsattr 1.txt
ln -s /src/path/to/file lnfile:将/src/path/to/file 建立一个符号链接lnfile
find ~/ -name "*.txt" -print
find ~/ -name "*.txt" -print | xargs grep hello
find /usr/src/linux/include/ -name "*.h" |
xargs grep "daemonize"
which passwd:找到passwd的路径
cat:全部输出
more:按照比例逐一显示文本,会按照百分比告诉显示了多少内容了,ctrl b/ctrl f可以滚屏
less:不能显示剩余百分比,可用通过 【page down】 【page up】 上翻下翻页查看已经显示出的内容,而more不具备。可以通过"/" "?"来查找内容
head:显示头部的内容前10行
tail:显示尾部10行
tail -f:可以跟踪不断的显示最新数据
管道:
man less | less
用户管理:
/etc/passwd文件结构:
用户名:密码(x替代了,单独放在了/etc/shadow里):uid(0为root,1-499保留,500开始为普通):gid(/etc/group里对应):comment(name,phone,address):homepath:shell(/sbin/nologin为禁止该用户登录)
/etc/shadow文件结构:
用户名:密码:上次修改密码日期距离
groupadd [-g gid] groupname
useradd [-u uid] [-g gid] [-d home] [-s /bin/bash] username
passwd username
passwd
userdel username
du -sh:列出文件夹大小总和
du -h:列出各项大小
df -h:列出各个磁盘使用情况
解压缩:
压缩打包:
tar zvcf xx.tar.gz xx
tar cvf xxx.tar xxx/ xz –z xxx.tarxxx.tar.xz
zip -r test.zip ./*
解压:
.tar.gz: tar zvxf
xxx.tar.gz
.tar.Z: tar zvxf
xxx.tar.Z
.tgz: tar zvxf
xxx.tar.tgz
.bz2: bunzip2
xxx.bz2
.tar.bz2: tar jvxf xxx.tar.bz2
.tar.xz: xz–d xxx.tar.xz tar xvf xxx.tar
.zip: unzip xxx.zip
.tar: tar xf xxx.tar
软件安装:
1)ubuntu:
sudo apt-get install xxx
sudo apt-get remove xxx
sudo apt-get update xxx
换源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
(表示备份列表)
sudo vim /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid multiverse
http://us.archive.ubuntu.com/ubuntu/dists/lucid/multiverse/
每一行的开头是deb或者deb-src,分别表示直接通过.deb文件进行安装和通过源文件的方式进行安装。
deb或者deb-src字段之后,是一段URL,之后是五个用空格隔开的字符串,分别对应相应的目录结构。在浏览器中输入http://archive.ubuntu.com/ubuntu/,并进入dists目录,可以发现有5个目录和前述sources.list文件中的第三列字段相对应。任选其中一个目录进入,可以看到和sources.list后四列相对应的目录结构。
mirrors.aliyun.com
http://mirrors.aliyun.com/ubuntu/
sudo yum install package -->federo/redhat安装软件
2)package安装:
1)下载一个deb格式的软件kismet
curl
https://www.kismetwireless.net/code/dists/quantal/kismet/binary-i386/kismet-2011.03.2.i386.deb
> kismet-2011.03.2.i386.deb
2)安装kismet
dpkg -i kismet-2011.03.2.i386.deb
3)源代码安装:
./configure --prefix=安装路径
make
sudo make install
正则式:按行操作 grep, sed, awk
grep hello x.txt:从x.txt中找hello的行
find ~/ -name "*.txt" -print | xargs grep hello
find /usr/src/linux/include/ -name "*.h" |
xargs grep "daemonize"
sed -n '3,10'p test.txt :打印test.txt中的3到10行
sed -n '/root/'p /etc/passwd :打印包含root的行
awk -F':' 'NR>20' test.txt 打印test.txt中大于20的行,-F指定':'为每行中的字段的分隔符。不指定默认为空格或者TAB。$0为整行,$1为第一个字段,$2为第二个字段
练习题:
1. 用awk
打印整个test.txt (以下操作都是用awk工具实现,针对test.txt);
1. awk '{print $0}' test.txt
2. 查找所有包含’bash’的行;
2. awk '/bash/' test.txt
3. 用’:’作为分隔符,查找第三段等于0的行;
3. awk -F':' '$3=="0"' test.txt
4. 用’:’作为分隔符,查找第一段为’root’的行,并把该段的’root’换成’toor’(可以连同sed一起使用);
4. awk -F':' '$1=="root"' test.txt |sed 's/root/toor/'
5. 用’:’作为分隔符,打印最后一段;
5. awk -F':' '{print $NF}' test.txt
6. 打印行数大于20的所有行;
6. awk -F':' 'NR>20' test.txt
7. 用’:’作为分隔符,打印所有第三段小于第四段的行;
7. awk -F':' '$3<$4' test.txt
8. 用’:’作为分隔符,打印第一段以及最后一段,并且中间用’@’连接 (例如,第一行应该是这样的形式 “root@/bin/bash”;
8. awk -F':' '{print $1"@"$NF}' test.txt
9. 用’:’作为分隔符,把整个文档的第四段相加,求和;
9. awk -F':' '{(sum+=$4)}; END {print sum}' test.txt
10.杀掉nginx进程:
10.sudo kill -KILL `ps aux | grep nginx| awk '{print $2}'`
sudo kill -9 `ps aux | grep firefox| awk '{print $2}'`
sudo kill -9 pid
进程网络:
cat /proc/meminfo |grep Mem:查看内存
cat /proc/cpuinfo
top
free
ps aux |less
a:所有用户进程
u:用户为主的格式显示
x:所有程序
USER PID
%CPU %MEM VSZ RSS TTY
STAT START TIME COMMAND
VSZ:該进程使用的虚拟內存量(KB)
RSS:該進程占用的固定內存量(KB)(驻留中页的数量)
STAT:STAT显示了进程当前的状态"S":进程处在睡眠状态
sudo kill -9 pid
netstat -anp:a,所有选项,N表示数字显示,P表示进程
ifconfig
iptables
sudo iptables -A OUTPUT -p tcp --dport 80
-j DROP
格式:iptables [-t table] COMMAND chain
CRETIRIA -j ACTION
sudo iptables
-A OUTPUT
-p tcp --dport 80 -j DROP 禁止访问80端口
sudo iptables -L -n -v --line-numbers
sudo iptables -D OUTPUT 1
vim ~/.profile
EDITOR=vim;export EDITOR
source ~/.profile
crontab –e/l/r
-e:编辑
* * * * * command
分 时 日 月 周 命令
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
-l:列出
-r:删除
scp
scp /home/daisy/full.tar.gz zyr@172.19.2.75:/home/zyr
a-->b
scp zyr@172.19.2.75:/home/zyr/full.tar.gz /home/daisy/full.tar.gz
ssh/xshell 客户端
wget http://www.mallocfree.com/data/pretalk.rar
nohup wget url & 该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
nohup wget http://www.mallocfree.com/data/pretalk.rar &
关机并重启用:sudo shutdown -r now
关机 断电:sudo shutdown -h now
panic计算机
root下:echo "c" >
/proc/sysrq-trigger
立即重启计算机
root下:echo "b" >
/proc/sysrq-trigger
立即关闭计算机
root下:echo "o" >
/proc/sysrq-trigger
终端:ALT+CTRL+F1 VM:ALT+CTRL+空格 ALT+CTRL+F1
UI:ALT+CTRL+F7 VM:ALT+CTRL+空格 ALT+CTRL+F7
Copyright 2011-2020 © MallocFree. All rights reserved.