基本shell命令

1. shell命令使用指南: http://man.linuxde.net/


2. man :查看命令符的手册

man -a printf:查看所有printf的手册页
man -k printf:按照正则表达式的方式查找手册页
man文件一般位于/usr/share/man/
1 Executable programs or shell commands 2 System calls (functions provided by the kernel) 3 Library calls (functions within program libraries) 4 Special files (usually found in /dev) 5 File formats and conventions eg /etc/passwd 6 Games 7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7) 8 System administration commands (usually only for root) 9 Kernel routines [Non standard]


3. 环境变量

- 相关命令
env: 查看当前环境变量 export : export PATH=~/bin:\\$PATH,修改环境变量。 unset $var : 取消环境变量。
- linux启动时加载环境变量的顺序:
/etc/environment; /etc/profile,/etc/bash.bashrc,/etc/profile.d下的所有的.sh文件;/.profile(或/.bash_profile或~/.bash_login), ~/.bashrc(在运行bash的时候运行), ~/.bash_aliases, /etc/bash_completion。
- /etc/enviroment 在系统一些核心组件加载完成后最先调用,很多外围的程序都依赖它运行,如果这里面出现了什么问 题,那么很可能导致系统无法正常启动。相当于是系统级别的公共环境变量
- /etc/profile 在启动登陆环境时被首先执行。相当于是应用级的公共环境变量
- ~/.profile在shell被打开时,次于/etc/profile执行。相当于是应用级的用户环境变量
- login shell:用户通过终端登录凭借用户名和密码登录控制台的动作是login shell,也就是说最终会调用login命令的操作都可称之为login shell。它加载的环境变量是 /etc/profile, ~/.bash_profile, ~/.bash_login, ~/.profile。
- non-login shell:用户在图形界面启动一个terminal,或者执行/bin/bash,/usr/bin/bash都属于non-login shell,它加载的环境变量是~/.bashrc


4. shell是个很强大的工具,很多软件及操作系统都有。

- 基本操作
sh /bin/ls: "开启一个子进程,执行/bin/ls"; source:" 在当前bash环境下读取并执行FileName中的命令,. 与他的作用一样"; cat /etc : "显示文件的内容"; cd /etc: "切换目录"; cd - : "移动到上一次的目录中"; pushd .: "将当前目录添加到栈中"; popd : "切换当前目录到到栈顶的目录"; | :"管道,可以将多个命令的输入输出连接起来,如:cat file|less"; > :"重定向,删除重定向文件原来的内容,如:ls -l > ls.txt"; >> :"重定向,不删除重定向原文件的内容,如:ls -l >> ls.txt"; $:"变量引用符"; sudo !!:"使用root权限执行上一条命令"; ^one^two: "将one替换为two,执行上一条命令"; less\more:"分页显示,如:ls -l|less"; shutdown now\init 0: "关机"; reboot\nit 6: "重启"
- 复制文件
cp -R /etc/network/ .:将/etc/network/文件夹下的所有文件拷贝到当前目录
- 移动与重命名
mv /home/drh/test ./testfil:将test文件或者文件夹移动到当前目录,并且重命名为testfile
- 删除文件:
rm -rf dir;删除文件夹 rm -rf !(keep1 | keep2);删除除keep1和keep2之外的所有文件和文件夹。
- 文件压缩解压
tar -jcpvf testtar.tar.bz2 testtar/ tar -xvf testtar.tar.bz2
- 修改文件权限
chmod a+x drh chown -R drh:drh 777 dir umask: 023 文件:666-023=643 X 目录:777-023=754
- 文件查找
find: 最强大,什么都能查,最一般的用法是:find /etc -name network which: 只能查可执行文件 whereis: 只能查二进制文件、说明文档,源文件等 locate: 能查所以,但跟whereis一样都是查数据库里的内容。 which: 只能寻找执行文件 ,并在PATH变量里面寻找。 whereis: 从linux文件数据库(/var/lib/slocate/slocate.db)寻找,所以有可能找到刚刚删除,或者没有发现新建的文件。 find是直接在硬盘上搜寻,功能强大,但耗硬盘,一般不要用.
- 文本统计与排序
wc : 文本统计 sort : 文本排序
- 文件传输与下载
wget URL : 网页下载 lftp URL : FTP下载 scp file root@10.10.10.1:/root :文件传输 nc -l -p 4444 > filename; nc 10.10.10.220 4444 < filename
- 磁盘操作
dd if=/dev/zero of=testfile bs=100M count=1 df filename parted -l mount -t ext4 /dev/sda2 /mnt/lfs
- 日期和时间
date hwclock cal
- 进入终端CTRL+ALT+


5. 字符串操作

- grep: grep "要搜索的字段" 搜索的文件或路径:可以有多个文件或者路径
-r 迭代搜索当前路径或者指定路径的所有子文件夹的文件
-n 显示搜索到的文本的行号
grep -nr main\( ./* grep -nr main\(
- sed:
- awk:


6. 进程管理

strace 跟踪命令或者进程的系统调用 -p 指定要追踪的进程 -c 输出系统调用的统计信息;还可以用来探测锁竞争,并定位IO问题。 iotop 像进程的top 命令一样查看IO ; lsof 列出所有已打开的文件 ipcs ipcrm :进程间通信管理命令 size :查看程序的正文段、数据段和bss段的总长度 ulimit -a : 查看和设置用户进程的限制


7. 卸载软件

1. 查看系统中安装的相应的软件包 rpm -q -a | grep 'name'
2. 卸载相应的软件:rpm -e [package name]


8. grub2:系统启动管理工具

- 添加启动项:grub-mkconfig -o /boot/grub/grub.cfg;
- 调整启动项的顺序:修改/boot/grub2/grub.cfg文件中的menuentry的顺序;
- 将linux修改为命令行启动:
bash: vi /etc/default/grub GRUB_CMDLINE_LINUX="text" bash: update-grub 1


9. LFS从头到尾编译一套Linux

posted on 2016-11-12 21:35  tryangel  阅读(1400)  评论(0)    收藏  举报

导航