Linux常用命令


help   # 学习的关键;help直接回车就是显示所有内部命令
eg: ls --help
type  # 用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
    -t:输出“file”、“alias”或者“builtin”,分别表示给定的指令为“外部指令”、“命令别名”或者“内部指令”;
file  文件名 # 辨识该文件的类型。ELF为二进制编码文件,是不是可执行文件。windows右键属性。
yum install man man-pages  # 通过yum安装man,操作手册man-pages
ps -fe # 查看进程,静止的
pstree # 多任务目录查看,两个bash代表两个用户
where is # 定位命令位置
man utf-8  # man ascll;man 2 read
man wc
df # 磁盘空间与分区;
df -h  # sda3 根级目录的第三个分区,Windows是cdef,h代表human,人类可读的
useradd #添加用户。添加的用户归属于/ 目录,如果有个用户把内存占满了,可以让该用户的目录指向新加的硬盘。
umount /boot # 卸载boot目录的挂载
mount /dev/sda1 /boot # 挂载
du -sh ./*   # s代表汇总,h代表人类可读取的   
# du命令是对文件和目录磁盘使用的空间的查看
ll
ls -la # 呈现列表的形式l, a代表所有的,i node号-磁盘位置。*****短的化可以两个一块*****;ls -l -ascll码才是最原始的,
ls --help  # 长字符
ls -l ./a* # 显示名称含a的文件
ls -l ./a?? # 显示名称含a的文件,?单个任意字符(正则表达式:[^12]取反)
ls -l /etc | grep "init"
cd # 回家
cd - # 上一次路径
cd .. # 上一级目录,. 当前目录
cd ~ # 家目录
cd ~用户名 # 回用户家;
clear
pwd
mkdir -p # 深度创建目录
mkdir ./x/{x,y,z}dir # 深度之后广度创建目录
rm -rf # f强制删除、r递归删除、rm -rf / 有点会提示危险,有的没有,
rm -rf ./* # 删除当前目录所有文件
cp 文件 目录/文件  # cp /etc/{profile,init/inittab} ~
ln -s 文件 软连接 # 删除原始文件会提示错;
ln 文件 硬连接;# 两个变量指向了同一存储位置
stat 文件 # 查看文件的描述性数据  ->  元数据:数据的描述性数据;
chmod +x 文件名 # 权限修改
touch 文件 # 把文件刷新成当前时间点;可以触发事件;
touch 文件名 # 创建一个文件
cat 文件 # 读取文件并输出到shell

more 文件 # 读取文件并输出到shell,分屏显示后等你输入回车显示更多

 less 文件 # 读取文件并输出到shell,分屏显示后等你输入回车显示更多,b回看

 head -行数 文件 # 截取文件前面n行
 tail -行数 文件 # 截取文件后面n行

echo "hello world"  # 显示字符串到屏幕
echo $$  # 显示当前使用的进程id;
echo -n "hello world" # 只换行,不回车
echo $PATH  #查看PATH
tail -f 文件名 # 阻塞,可以另外打卡一个窗口 echo "hello world" 1>> 文件名
管道 head -3 文件 | tail -1  # 截取文件中间的多少行,基于文本流的加工方式
     ls -l /etc | more  # 衔接前面的输出和输入流,管道前后各是可以解析的字符串
     echo "/" | xargs ls -l  # xargs
vi +行号 文件名 # 排错
vi + 文件名 # 定位最后一行
vi + /字符串 文件名 # 打开 查找
grep -v 字符串 文件名  # 不含字符串的行
grep "\" 文件名 # 查找含xxoo的行
grep "^xxoo" 文件名 # 查找开头含xxoo的行
grep "^xxoo\>" 文件名 # 查找开头含xxoo单词的行
grep "xx[0-9]oo" 文件名 # 查找:xx数字oo
grep "xx[0-9]\+oo" 文件名 # 查找:xx多数字oo
grep "xx[0-9]\{4\}oo" 文件名 # 查找:xx4个数字oo
grep "xxoo.*ooxx" 文件名 # 查找:xxoo任意字符xxoo
grep "\(xx\)\(oo\).*\1\2" 文件名 # 查找:xxoo任意字符xxoo
cut -d' ' -s -f1,3 文件名 # 以空格切割,显示第一三列; -s 成功切割; 1到3表示为1-3;
cat 文件名 | cut -d' ' -s -f1-3
sort -t' ' -k2 -nr 文件名 # 以空格切割,以第2列数值(-n)倒叙(r)排序
wc -l 文件 # wordcount
cat sort.txt | wc -l #统计文件行数
sed "1a\hello world" 文件名 # 给文件在1行后追加hello world,会输出到屏幕,源文件不会变;
sed -i "1a\hello world" 文件名 # 给文件在1行后追加hello world,会输出文件;
sed -i "2d" 文件名 # 删除文件第2行
sed -i "/apple/d" 文件名 # 删除文件中含apple的行
sed -i "s@hello@nihao@" 文件名 # 查找hello换成nihao
sed "s/\(id:\)[0-6]\(:initdefault:\)/\15\2/" inittab # 查找id:x:initdefault: x换成5;  查找该替换的替换,不替换的不管
awk -F':' '{ print $1}' 文件名 #打印第一列
awk -F':' '{ print $1 "," $7}' 文件名 # 以逗号分割
awk -F':' '{ print $1 "\t" $7}' 文件名 # 以制表符分割
awk -F':' 'BEGIN{ print "name\tshell"} { print $1 "\t" $7} BEGIN{ print "blue\tnosh"}' 文件名 # 以制表符分割
cut -d':' -f1,7 文件名 | sed "1i\name:shell"
cut -d':' -s -f1 文件名 #打印第一列
sxt=100  # 变量定义
echo "$sxt" # 输出100
echo '$sxt' # 单引号可以组织字符串扩展,就是编译解释;输出$sxt