献给初学者:谈谈如何学习Linux操作系统
Linux初级阶段:
1. 命令是必须要学的,linux常用的命令大概在80个左右,这些常用命令一定要熟练掌握。
2. 掌握linux软件包的常用安装方法,例如源码安装,rpm方式安装等等。
3. 学习安装设备驱动程序(比如网卡、显卡驱动)
4. 熟悉Grub/Lilo引导程序及简单的修复操作。
5. 熟悉Linux文件系统和目录结构以及linux基本运行原理。
6. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器。
7. 理解shell别名、管道、I/O重定向、输入和输出以及shell简单脚本编程。
8. 学习Linux环境下的网络基本组建。
Linux常用命令——Java面试必备
可以查看命令的用法。例如:
man ls
man mkdir
man printf
下图为man printf 的执行结果:
(1)创建一个文件
touch test.txt
截图:
通过touch创建了test文件,通过ls列出所有文件,可以见到刚才创建的test。
(2)修改时间戳为当前时间
touch test.txt
touch也可以修改时间戳为当前时间。
(1)创建一个空目录。
mkdir mytest
mkdir -p mytest2/mytest3
(1)删除一个或者多个文件
rm test1.txt test2.txt
(2) 删除一个或多个目录
rm -r mytest
(3) 强制删除文件/目录
rm -rf mytest
注意:千万不要运行 rm -rf /*
(1)移动文件/目录
mv test2.txt mytest
(2)更改文件名
mv test2.txt test3.txt
(1)复制文件/目录
cp file1.txt file2.txt
cp -r dir1 dir2
在复制目录的时候,dir2如果已经存在,则dir1将被复制到dir2目录下。 如果dir2不存在,则dir1将复制成dir2
. 当前目录,
.. 上一层目录。
cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录,上一个目录;
cd .. 返回上级目录
cd ../.. 返回上两级目录;
pwd 查看当前所在路径
ls 列出当前目录所有文件
ls -a 列出当前目录所有文件(包括隐藏文件)
ls -l --> ll 以列表形式列出当前目录所有文件(包括隐藏文件)
ls -lh 以易于人类阅读形式列出当前目录所有文件
单词concatenate的缩写,代表“连接”
cat > file.txt Ctrl+ c 结束键盘输入
cat file.txt 在终端查看文本内容
cat file1.txt file2.txt > file.txt 将几个文件合并为一个文件
可以翻页查看文件
more file.txt 分页显示文本文件内容
ll /etc | more 通过管道分页显示结果
q:退出 more
空格键:向下滚动一屏
b:返回上一屏
回车:向下滚动一行
基本操作 与more命令相同(实际上more命令的结果正是调用了less命令)
less file.txt 分页显示文本文件内容
ll /etc | less 通过管道分页显示结果
显示文本文件前n行内容(默认显示前10行)
head -n 5 file.txt
tail -n 5 file.txt 显示文件末尾内容
tail -f file.txt 循环查看文件内容
tail -n +5 file.txt 从第5行开始显示文件
排序相关
sort file.txt 按ASCII码升序排序
sort -r file.txt 按ASCII码降序排序
sort -u file.txt 排序并去除重复行
uniq file.txt 删除重复行
磁盘文件的可用空间
df df ~
df -h
du file.txt 显示指定文件所占空间
du (-h) 显示目录或者文件所占空间
tar zcvf file.tar.gz file1 file2 压缩文件
tar zxvf file.tar.gz 解压文件
-z 支持gzip属性的文件
-v 显示操作过程
-f 必须,使用档案名字,这个参数是最后一个参数,后面只能接档案名
-c 建立压缩档案
-x 解压
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状 况,类似于Windows的任务管理器。
top
linux下向进程发送信号的命令。
kill -l 列出所有命令名称
kill –9 3268 杀死进程
killall vi1 杀死指定名字的进程
ssh name@remoteserver 连接到远程主机
ssh [email protected] “uname -a” 通过SSH运行远程shell命令
使用wget下载单个文件
wget https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2
断点续传
wget -c https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2
scp /home/alvin/file.txt [email protected]:/home/root 上传文件
scp [email protected]:/home/root/file.txt /tmp 下载文件
向指定的网络地址发送一定长度的数据包,按照约定,若指定网络地址存在的话,会返 回同样大小的数据包。
ping baidu.com 测试网络连通性(Ctrl+c可以停止ping)
ping -c 5 baidu.com ping指定次数
sudo command 以系统管理者的身份执行指令
更改密码
sudo useradd -d "/home/alvin" -m -s "/bin/bash" alvin
-d “/home/alvin" :就是指定/home/alvin为主目录
-m 就是如果/home/alvin不存在就强制创建
-s 就是指定shell版本
adduser user
userdel -r user 删除用户
groupadd leader 添加一个新组
cat /etc/group | grep leader 查询组
groupmod -n leaders leader 更改组名
groupmod -g 3000 leaders 更改组GID
tab : 路径/命令 补全
ctrl + f 向前移动光标
crtl + b 向后移动光标
ctrl + a 光标移动到行首
ctrl + e 光标移动到末尾
crtl + p page up
crtl + n page down
ctrl + l 清屏
ctrl + c 终止当前运行的程序
ctrl + z 将当前运行的程序转到后台 与&效果一样
ctrl + r 查找历史命令
以上为基础命令,高级篇请看文首链接。
1、比如:我想查看某个日志文件的前10行
命令:head -n 10 my.log
2、比如:我想查看某个文件的最后10行
命令:tail -n 10 my.log
3、比如:我想查看文件中包含“你好”的前10行
命令:cat -n my.log|grep “你好”|head -n 10
4、grep和find的区别
find通过文件属性查找文件
grep通过内容查找相关文件行
find -name ok 或 find /home/my/ -name ok (注意目录的位置,在find命令之后)
grep通常和管道一起结合使用,但是也可以独立使用
grep “ok” my.txt 查找文件my.txt中包含ok关键字的行