Linux系统常用命令
1、man(manual)
作用:查找帮助信息
用法:
man ls
man -f read //列出read相关的所有条目
man -a read //在所有man手册中搜索
man 3 read //查询第`三册帮助文档中的关于read的信息`
Andy@ubuntu:~$ man -f ls
ls (1) - list directory contents
ls (1posix) - list directory contents
详细用法可以用man man 查看。
2、ls(list)
作用:列出文件信息
用法:
ls
ls -a //列出隐藏的文件
ls -l //列出详细信息
Andy@ubuntu:~$ ls
Desktop/ download/ examples.desktop git/ Pictures/ share utilities/
Andy@ubuntu:~$ ls -l
total 32
drwxr-xr-x 2 Andy Andy 4096 Oct 30 2017 Desktop/
drwxrwxr-x 4 Andy Andy 4096 Oct 26 2017 download/
-rw-r--r-- 1 Andy Andy 8980 Sep 30 2017 examples.desktop
drwxrwxr-x 14 Andy Andy 4096 Oct 9 2017 git/
drwxr-xr-x 3 Andy Andy 4096 Sep 30 2017 Pictures/
lrwxrwxrwx 1 Andy Andy 9 Oct 20 2017 share -> /mnt/hgfs/
3、cat/less/more
作用:显示文件内容
用法:
cat file //显示文件内容
cat file -n //把行号也显示出来
less file //分页显示文件内容,按q退出,按空格/回车翻页
more file //分页显示文件内容,按q退出,按空格/回车翻页
cat file //显示文件内容
cat file -n //把行号也显示出来
less file //分页显示文件内容,按q退出,按空格/回车翻页
Andy@ubuntu:~$ cat test.c -n
1 #include <stdio.h>
2
3 int main()
4 {
5 while(1)
6 {
7 if(meet_you) myday++;
8 else myday--;
9 }
10 return 0;
11 }
4、rm(remove)
作用:删除文件、目录
用法:
cp file1 file2
cp dir1/ dir2/ -r
Andy@ubuntu:~$ ls
Desktop/ download/ examples.desktop git/ Pictures/ share test.c
Andy@ubuntu:~$ cp test.c test_cp.c
Andy@ubuntu:~$ ls
Desktop/ download/ examples.desktop git/ Pictures/ share test.c test_cp.c
5、mv(move)
作用:移动文件,重名名文件
用法:
mv file dir/ //将文件file移动到dir/下
mv foo bar //将文件名字修改为bar
Andy@ubuntu:~$ mv test.c test_mv.c
Andy@ubuntu:~$ ls
test_cp.c test_mv.c
6、mkdir/rmdir(make/remove directory)
作用:创建/删除 空目录
用法:
mkdir apple/
mkdir a/b/c/ -p //递归地创建嵌套空目录
rmdir apple/
Andy@ubuntu:~$ mkdir test
Andy@ubuntu:~$ ls
Desktop/ download/ examples.desktop git/ Pictures/ test/
7、cd(change directory)
作用:切换当前路径
用法:
cd /etc/ //将路径切换到/etc/
cd - //将路径切换到刚刚去过的地方
cd //回到家目录
cd ~ //回到家目录
备注:
. //当前目录
.. //上一级目录
../.. //上上级目录
/ //根目录,所有文件的起点
~ //家目录,拥有所有权限
8、find
作用:在指定的目录下,按特定条件查找某些文件
用法:
find /home/gec -name "*.c" //在/home/gec下,寻找以.c为后缀的文件
find / -name "vimrc" //在/下,寻找名字为vimrc的文件
find /home/gec -type d //在/home/gec下,寻找类型为目录(d)的文件
9、grep
作用:在指定文件中,找到某些字符串
用法:
grep 'apple' file
grep 'apple' dir/ -rnH //递归地针对dir/下的所有文件,查找'apple'
Andy@ubuntu:~$ grep 'while' test_cp.c
while(1)
Andy@ubuntu:~$
10、touch
作用:创建空文件/更新已有文件的最近访问时间
用法:
touch file //如果文件不存在,那么就创建
//如果文件存在,那么就更新最近访问时间
11、head/tail
作用:查看文件的头/尾几行
用法:
head file
head -n 10 file
tail file
tail -n 10 file
Andy@ubuntu:~$ head -n 5 test_cp.c
#include <stdio.h>
int main()
{
while(1)
12、diff(different)
作用:对比文件、目录、并产生差异信息
用法:
diff file1 file2 -u //显示两个文件的差异
diff dir1/ dir2/ -ru //递归地显示两个目录的差异
13、file
作用:查看文件的属性信息
用法:
Andy@ubuntu:~$ file test_cp.c
test_cp.c: C source, ASCII text
14、env(environment)
作用:查看所有的环境变量的值
用法:
Andy@ubuntu:~$ env
XDG_VTNR=7
LC_PAPER=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
XDG_SESSION_ID=c2
下面还有一堆.....
15、echo
作用:查看指定的信息
用法:
echo "abcd" //输出 abcd
echo $PATH //输出环境变量PATH的值
16、export
作用:设置环境变量
用法:
export PATH=$PATH:dir/ //在环境变量PATH原值的基础上,添加一个路径dir/
备注:
A) 在某个终端中执行的命令的效果,都是临时的
B) 想要永久生效,就要把命令写入 ~/.bashrc
C) ~/.bashrc是shell的配置文件,每次启动终端都会被自动读取一遍
17、tar
作用:归档、压缩、解压文件
用法:
tar cvf x.tar a.c b.txt dir/ //将 a.c b.txt dir/ 统统归档成x.tar
tar xvf x.tar //将归档文件 x.tar 中的内容释放出来
xz x.tar //将文件 x.tar 按照 .xz 格式压缩成 x.tar.xz
xz --decompress x.tar.xz //将 x.tar.xz 按照 .xz 格式解压
tar czvf x.tar.gz a.c b.txt dir/ //将 a.c b.txt dir/ 统统归档,并按照.gz 格式压缩成 x.tar.gz
tar cjvf x.tar.bz2 a.c b.txt dir/ //将 a.c b.txt dir/ 统统归档,并按照.bz2格式压缩成 x.tar.bz2
tar xzvf x.tar.gz //将 x.tar.gz 按照 .gz 格式,解压到当前目录
tar xjvf x.tar.bz2 //将 x.tar.bz2 按照 .bz2 格式,解压到当前目录
tar xzvf x.tar.gz -C dir/ //将 x.tar.gz 按照 .gz 格式,解压到dir/
tar xjvf x.tar.bz2 -C dir/ //将 x.tar.bz2 按照 .bz2 格式,解压到dir/
18、ln(link)
作用:为一个文件、目录创建软链接文件(快捷方式)
用法:
ln -s /mnt/hgfs/code abc //创建一个称为 abcd 的软连接,
//并让其指向 /mnt/hgfs/code
19、pwd(present work directory)
作用:显示当前路径
用法:
Andy@ubuntu:~/share$ pwd
/home/axin/share
20、who
作用:显示系统上已登录的用户名单
用法:
Andy@ubuntu:~$ who
Andy tty7 2020-09-23 23:27 (:0)
21、uname
作用:获取当前系统内核相关信息
用法
uname -a //获取当前系统内核相关的信息
uname -p //获取当前系统的字长
22、通配符
星号 * :代表任意长度的任意字符
问号 ? :代表一个任意字符
括号 []:代表一个指定范围的字符
23、ifconfig
作用:查看当前活跃的网络接口
24、ps(process state)
作用:查看进程信息
用法:
ps -ef //查看当前系统的进程信息
ps aux //查看当前系统的进程信息
25、kill/killall
作用:给指定的进程发送某个信号/终止指定名称的进程
用法:
kill -l //查看当前系统支持的所有的信号列表
kill -s SIGXXX 1234 //将信号 SIGXXX 发送给进程号为 1234 的进程
kill -N 1234 //将N号信号发送给进程号为 1234 的进程
killall ./myage //终止系统中所有名称为 ./myage 的进程
26、du(disk usage)
作用:查看文件、目录占用的硬盘空间
用法:
du -sh dir/
27、chomd(change mode)
作用:修改文件、目录的权限
用法:
chmod 777 file
chmod 756 dir/
28、chown/chgrp
作用:修改文件的所有者、所属组
用法
sudo chown lisi file
sudo chgrp lisi file
29、adduser / deluser
addgroup / delgroup
作用:添加用户/删除用户
添加用户组/删除用户组
用法:
sudo adduser zhangsan
sudo deluser zhangsan
sudo addgroup zhangsan
sudo delugroup zhangsan
系统的用户清单: /etc/passwd
系统的用户组清单; /etc/group
30、nice / renice
作用:调整进程运行的动态优先级
用法:
nice -n 15 ./example //以15的nice值启动进程./example
sudo nice -n -5 ./example //以-5的nice值启动进程./example
renice -n 12 1234 //将进程号为1234的进程的动态nice值调整为12
注:
1、nice值越高,动态优先级越低。nice值范围-20 ~ 19
2、优先级高的,可以抢占优先级低的。
其实Linux命令这个东西完全靠理论是不行的,完全靠实践也是不行的,只能一边多用,一边多看看书。用多了就好了,不会的就问man 和goole。