博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux常用命令笔记
阅读量:5955 次
发布时间:2019-06-19

本文共 5013 字,大约阅读时间需要 16 分钟。

Linux命令

基本命令

文件夹创建与删除

  • mkdir 创建文件夹
  • mkdir a/b/c -p递归创建多层文件夹(必须加参数p)
  • rmdir 删除空文件夹
  • rm -r 删除文件夹
  • rm -f 删除文件夹(没有提示,强制删除)
  • rm -i 删除文件夹(有提示)

  • mv name1 name2 更改文件夹名称
  • tar -zxvf /.../...gz 解压gz文件到当前目录(文件路径含空格要用单引号引起来,或者在空格前使用转义字符\)
  • history 查看历史命令

  • file 查看文件类型
  • ctrl+shift+t 打开(新建)一个终端
  • alt+数字在终端间切换
  • 复制文件后,可按快捷键鼠标滚轮粘贴
  • tar只做打包和解包,不做压缩
  • tar -czvf 压缩包名字(....tar.gz) 需要压缩的文件 压缩+打包(参数c调用create创建压缩包、z调用gzip工具进行压缩、v显示进度、f文件,该参数放最后,前面三个参数顺序任意)

  • tar -xzvf 压缩包名字(没有指定路径时,默认解压到当前路径)
  • tar -xzvf 压缩包名字 -C 目录名字 解压到指定目录

  • tar -cjvf 操作(....tar.bz2)文件

  • sudo passwd 修改当前用户密码

vi命令:

a(光标后插入) i(当前位置插入) o(当前行下开启一行插入)都可进入编辑状态
A当行尾进行插入
I行首插入
shift+o在上面插入一行
:set nu开启左边行号
:set nonu 关闭左边行号
:set list显示制表符、换行符
:set nolist关闭制表符、换行符显示

cd ~切换到当前用户的主目录

cd -切换回上一个目录

linux优势:多用户管理\网络处理方面\免费

Linux目录:
/bin目录:命令,工具;
/etc目录:配置文件;
/lib目录:库;
/sbin目录:管理员命令;
/home目录:用户目录;
/home/用户:用户主目录;
/usr/include:头文件;
/dev设备文件

Linux文件分类:

-开头为普通文件;
L开头为link文件;
d开头为目录文件;
c开头代表设备字符文件;
b开头代表设备文件;

Linux文件权限:

用户分类:文件所有者(文件创建者)\用户组(类似QQ群)\其他

命令:

保留命令界面,因为命令更快.
格式:命令+空格+[-参数]
linux中,点开头的文件是隐藏文件;

ls --help打开帮助;

man ls打开man手册;
有重名时需要指定章节:
man 3 printf指定查询第三章中printf手册;

ls命令:

-l list列表方式显示
-a all所有
-h 人性化显示(要和l配合)

ls 可以和通配符搭配:

例如:ls te* 显示以te开头的文件

l====>ls等同

ll===>ls -l等同

ls+路径,可查看其他路径(没有路径时默认当前路径)

ls可以和通配符配合显示符合要求的文件

mkdir cmd 新建一个名叫cmd的目录
touch 如果文件不存在,就新建,如果存在,则把文件改变为当前时间.可以修改时间戳
使用通配符当普通字符时,用\进行转义.

重定向:

# > 覆盖内容ls -l > test.txt #将输出保存到test.txt# >> 追加内容date >> time.txt #将当前时间追加到time.txt中

cat 文件 显示文本文件(一次性全显示)

more命令(分页)显示文本内容
也可以用vi分页查看文本内容

借助管道来过滤搜索:

ls /bin/ | grep ls
取命令中含ls的命令
ls /usr/lib/ | grep stdio.h
取库函数中含stdio.h的

管道:一端的输出(写)作为另外一端的输入(读)

ls /bin/ -l | more

分页显示bin目录下命令

清屏:

ctrl+l或clear

cd什么都不加,会自动去到用户目录(等价于cd ~)

cd -切换到上一次路径

tree命令显示目录树结构

tree 目录 -L 2 显示目录树2层

ln 源文件 链接文件 硬链接创建(只能普通文件可以,文件夹不可以)主要用作备份文件,不占内存.

ln -s 源文件 链接文件 软连接创建

硬链接主要作用

1\备份文件,防止误删.
2\硬链接作用给同一个文件起N个名字,实际只有一份文件存在硬盘
3\除非把所有文件删除,否则,文件一直存在

1\软链接:解决在默认库找不到库文件的问题

2\软链接跨目录源文件需要绝对路径,否则软链接只会在当前目录查找
3\源文件删除,则软链接没有意义

小技巧:

ctrl+alt+t 新建终端
ctrl+shift+t以标签样式新建终端
alt+数字 切换终端
ctrl+shift+"加号"终端字体变大
ctrl+"减号"终端字体变小
滚轮中键按下粘贴

拷贝:

cp -r 拷贝文件夹
cp -v 显示进度
mv 同级目录相当于改名

file 查看文件类型

file /etc/group

which+命令 查看命令所在目录

tar只负责打包和解包,要和压缩命令配合使用进行压缩

gzip\bzip2只负责压缩

.tar.gz格式:需要tar和gzip配合使用

压缩:
tar -cvzf xxx.tar.gz 需要压缩的文件(f一定要放后面,c(创建)v(进度)z(指定调用gzip工具压缩)顺序随意)

解压:

tar -xzvf xxx.tar.gz 解压到当前目录(z可省略)
tar -zxvf xxx.tar.gz -C 目录 解压到指定目录,需要加-C

压缩(bz2压缩率更高):

tar -cvjf xxx.tar.bz2 需要压缩的文件(f一定要放后面,c(创建)v(进度)j(指定调用bzip2工具压缩)顺序随意)
tar -xjvf xxx.tar.bz2 解压到当前目录(j可省略)
tar -jxvf xxx.tar.bz2 -C 目录 解压到指定目录,需要加-C

du -h 查看所有文件(含文件夹)大小

du -sh xxx 查看xxx文件夹总大小
du -sh 查看当前目录总大小

压缩(zip)不能用于压缩软链接,否则软链接变成硬链接了.

zip -r xxx(.zip) 需要压缩的文件
zip -r dYSM.zip $(ls | grep .dYSM) 将当期目录下dYSM文件打成压缩包dYSM.zip
unzip xxx.zip -d 目录 解压到指定目录
-n 解压缩时不要覆盖原有的文件.
-o 不必先询问用户, unzip执行后覆盖原有文件.

whoami显示当前登录用户

exit退出当前用户,回到上一个用户
sudo让当前用户提升为管理员,输入的密码为当前用户的密码
su root 以管理员方式,切换到管理员,这里要输入管理员密码
sudo passwd root 给管理员root改密码,输入当前用户密码
sudo su root切换到管理员
sudo su edu 切换到edu
切换到管理员
sudo su
sudo su -(加-会切换到用户主目录)
sudo su root
sudo su - root

查看用户\用户组(用户名和用户组名字,不要以纯数字起名)

cat /etc/passwd 查看用户信息edu:x:1000:1000:edu,,,:/home/edu:/bin/bash用户名 前面一个数字是用户ID,第二个数字是用户组ID cat /etc/group 查看用户组edu:x:1000:用户组的名字 数字表示用户组ID

添加和删除用户组

sudo groupdel abc 删除abc用户组
sudo groupadd abc 添加abc用户组
sudo usermod -g abc edu 更改edu到abc组
如果用户组已经包含成员,不能删除

新建用户:

1\一个用户有一个主目录
2\默认新建用户,如果不指定组,自动新建一个用户组,名字和用户名字一样
sudo useradd mike -d /home/mike -m创建一个用户mike指定主目录为/home/mike(-m指主目录不存在时则创建主目录)
删除用户:
用户删除时,随该用户创建的组也会删除
sudo userdel mike -r(-r指同时删除用户主目录)
sudo useradd mike -d /home/mike -m -g edu
(-g指定mike所属的组为edu)

新建用户是无管理员权限的

last:查询用户登录情况

chmod u-w 1.c

chmod u+w 1.c
chmod g-w 1.c
chmod u-r,g-rw,o-x 1.c

chmod 777 abc/ -R(-R表示子文件一起变权限)

对于文件夹:

x:没有则不能进入
w:没有则不能在内部新建文件
r:没有则不能在文件夹内部查看文件信息

sudo chown mike 1.txt

将1.txt所有者改为mike
sudo chgrp root 1.txt
将1.txt所属的组改为root

查看进程状态:

程序:放在硬盘上的文件
进程:程序运行的状态
ps -aux(-可以省略)
显示详细的进程信息
ps -aux | grep subl
显示含subl的进程
kill+pid
结束该pid的进程

kill其他用户的进程,可能需要加sudo

sudo kill -9 4417(-9表示强制结束)
强制结束4417进程

kill -l查看kill信号信息

top动态显示进程
按大写P则按CPU占用排序
按大写M则按内存占用排序
按Q退出

ctrl+z让前台进程转到后台休眠

jobs查看后台休眠进程
fg+数字,将后台休眠进程调到前台
fg将后台进程调到前台运行(最近休眠的那个进程)

./demo &自动在后台运行(无法使用ctrl+c结束)

alt+ctrl+F2/F7切换字符界面/图形界面

Linux使用公共账号或公共目录创建多用户进行远程Linux编程.

开远程需要先安装SSH服务器
windows远程连接Linux需要专门的软件
Linux和Unix自带远程连接
Linux远程连接命令:
ssh -l edu ip
Linux烤文件三种方式:
ftp
scp
samba(最好用)

sudo ./myhttp start启动myhttp

sudo ./myhttp stop 结束程序

:vsp 文件

分屏显示

编译过程:

a).预处理:头文件展开,屏蔽注释,宏定义替换,条件编译;不做语法检查;gcc -E hello.c -o hello.i

b).编译:将上一步翻译后的文件,进一步进行翻译,进行语法检查,编译成汇编代码;(计算需分配的内存空间)

c).汇编:将汇编代码生成目标文件,但还不能执行

d).链接:链接动态库和静态库

ldd 可执行文件,查看可执行文件的库(Linux)

depend可用该软件查看windows文件依赖的库

IDE,集成开发环境

Qt Creator
VS
三大功能:
1).编辑器功能
2).做图形界面开发,GUI
VS,MFC框架(MFC是C++写的),在这个框架上可快速写界面.
Qt的框架就叫Qt(也是C++写的)
3).终端运行功能

查看Linux代码工具sublime

source insight(windows看代码神器)

关闭防火墙

su - root           --切换到rootiptables -F         --关闭防火墙chkconfig iptables off      -- 设置开机不启动防火墙setenforce 0            -- 关闭安全Linux

Linux其他技巧

  • ipcs -m 查看共享内存, key值编号0x0000的是系统核心的共享内存, 无法删除.
  • shell脚本a=1不能加空格, 否则会将a当命令, =和1当参数.

转载于:https://www.cnblogs.com/nonsupport/p/10091229.html

你可能感兴趣的文章
linux安全问答(1)
查看>>
zabbix监控进程的CPU和内存占用量
查看>>
【自用】手工编译lnmp环境
查看>>
普通用户通过Putty密钥方式登录
查看>>
网页显示3D模型
查看>>
第六章:thymeleaf页面模版-1. 信息输出
查看>>
Ubuntu 16.04 install Docker 1.12.0
查看>>
2012《Linux杂志》读者选择奖 (Readers' Choice Awards 2012- Linux Journal)
查看>>
21天让你成为Horizon View高手—Day11:手动池的创建
查看>>
Python迭代对象、迭代器、生成器
查看>>
请求转发与重定向的区别
查看>>
大数据分析 | 百年奥运往事知多少
查看>>
矩形覆盖-----批了外皮的亲蛙跳
查看>>
@RequestParam今天才知道是咋用的..
查看>>
全国第一家FPGA云主机(FAAS)正式启动售卖,被阿里云抢先了。
查看>>
Linux 局域网路由新手指南:第 2 部分
查看>>
TensorSpace:超酷炫3D神经网络可视化框架
查看>>
横向ListView (二)—— 添加快速滚动功能及item相关事件实现
查看>>
java 开发银行支付、对账时证书相关的操作总结
查看>>
为什么你的缓存更新策略是先更新数据库后删除缓存,讲讲其他的情况有什么问题?...
查看>>