man:
1、命令
2、系统API
3、C库函
5、配置
7、某一主题
8、管理员命令
查看文件内容:
cat /etc/passwd
cat /etc/shadow加密后的密码文件
more /etc/passwd
查看文件内容
空格键->向下翻屏
b->向上翻屏
less 查看文件内容 支持查找(/+要查找的内容)
b->向上翻屏
空格->向上翻屏
j向下翻屏一行
k向上翻屏一行
q退出
head /etc/passwd
缺省查看文件前10行
-n num行(head -n3 /etc/passwd查看文件前3行)
tail /etc/passwd
缺省查看文件末尾10行
tail -f 文件名
cut -d: -f1,7 /etc/passwd (按列查看文件,显示第1列和第7列)
-d: 分列符
-f 指定列
练习
:统计当前系统有几种登录shell
步骤:
1、cut -d: -f7 /etc/passwd > tmp
2、sort tmp > tmp2
3、uniq tmp2 > tmp3
4、wc -l tmp3
方法二:cut -d: -f7 /etc/passwd | sort | uniq | wc -l (|:管道 linux设计原则:保持每个功能尽可能简单)
uniq:去除相邻的重复行
cut -d: -f1,7 /etc/passwd>tmp(将结果放入tmp文件)
sor:排序
sort tmp>tmp2(对tmp文件中内容排序,并重新写入tmp2文件,注意tem2不能和tmp1一样)
wc:统计行数,单词数,字符数
-l:行数
-w:单词数
-c:字符个数
echo 回显(echo后面写什么内容显示什么内容)
输出重定向 echo "hehe">文件名
>输出重定向,覆盖以前的内容
>>追加输出
ctrl+l 快捷键清屏
clear 命令清屏
history:查看历史命令
练习
:找出文件中最中间的三行
wc -l /etc/passwd
head -n19 /etc/passwd | tail -n3
时间
date +%Y-%m-%d%H%M%S
+%Y:年
%m:月
%d:日
%H:时
%M:分
%S:秒
时间戳:从UNIX元年(1970年1月1日0点0分0秒)到现在为止的秒数。
取得时间戳:date +%s
从时间戳转换为时间:date -d @时间戳 (date -d @124241545)
cal
查找命令
which 命令
外部命令
内置命令
whereis命令(信息更详细)
查找文件
find 目录 -name "*.c" -exec 命令(对于找到的每一个文件都执行这个命令) {} \;
*通配符 [0-n]长的任意字符
例如:
find /usr/include/ -name "*.c" -exec ls -l {} \;
find /usr/include/ -name "*.c" -ok ls -l {} \; -ok(m每次执行后面命令是询问是否执行)
find /usr/intlude/ -name "*.c" | wc -l (统计有几个.c文件)
查找内容
grep -n"root" /etc/passwd(将所有含root的行显示出来)
-n显示行号
在工程中搜索想要的函数:
find . -name "*.c" | xargs grep -n "int add("
xargs:
shutdown -h now 广播消息,然后调用init 0
init 0 关闭服务程序,调用halt关机
切换账户
:
su - 用户名
exit 退出账户
bc 浮点数计算器
ctrl+d从键盘输入结束标记
uname 查看系统信息
-a 显示该系统的详细信息
打包压缩:
1、tar.gz
压缩:tar -czvf 文件名.tar.gz 目录名
解压:tar -xzvf 文件名.tar.gz
-C 指定到解压到哪里
2、tar.bz2
压缩:tar -cjvf 文件名.tar.bz2 目录名
解压:tar -xjvf 文件名.tar.bz2 -C
查看文件类型
:
file 文件名
权限管理
文件权限
:
文件拥有者、文件所属组里的用户、其他组(其他用户)
权限:读r、写w、执行x
如:drw- r-- r--
修改文件权限(只有文件所有者或root才可以修改文件权限)
chmod u+r/w/x 文件
g-
o=
a
练习:
1、在root家目录:echo "cal">cal.sh
2、chomd u+x cal.sh
3、cp cal.sh /home/bajia
4、 su - bajie
5、./cal.sh #没有执行权限
6、su - root
7、cd /home/bajie
8、chomd o+x cal.sh
9、exit #退出到bajie账户
10、./cal.sh #可以执行
创建一个用户
:
useradd 用户名
设密码
passwd 用户名
文件类型:
-表示普通文件(白色)*
d 目录文件(蓝色)*
p 管道文件(黄色)
l 软链接文件(青色)*
b 块存储设备(黄色)
c 表示字符设备文件
s socket文件
带*的占磁盘空间文件,其他是虚拟文件
mkfifo **.p 创建一个管道文件
管道文件不存于磁盘,大小为0,可以让两个无关的进程访问同一块缓存
ln -s 文件名 软链接文件名
VFS
virtual file system
创建文件缺省权限:应该是666,即
-rw-rw--rw-
但是系统创建文件要受到umask(本机是0002)影响:
qx = qx & ~umask
chmod 777 文件名 更改文件权限
普通用户在家目录无法创建目录,要用root才可以
目录的权限:
r:是否能够ls(查看目录的内容);
w: 是否能够touch或mkdir
x: 是否能够cd(进入该目录)
创建目录的缺省权限是0777
但是创建目录也受umask影响
希望公共目录下,除了自己和root外,别人只能拷贝文件,不能删除文件
粘贴位(sticky bit): chmod o+t 目录名