سلام
حتما برای شما هم پیش اومده که یه فایل که دسترسی لازم روی اون رو ندارید بدون sudo با vim باز کرده باشید! و بعد از تغییرات فراوان متوجه این موضوع بشید!
جهت ذخیره کردن تغییرات روی فایل کافیه بزنید:
:w !sudo tee %
به همین راحتی…
سلام
جهت دسترسی سریع به کد اسکی کارکترها در ترمینال کافیه بزنید:
showkey -a
سپس هر کارکتری که میخواهید رو وارد کنید!
با ctrl + D هم میتونید از این محیط خارج بشید!
سلام
شما هم اگه مثل من از توزیعهای دبیانبیسد استفاده میکنید و مشکل پر شدن فضای حافظه سیستم بوسیله کش رو دارید کافیه بزنید:
echo 3 > /proc/sys/vm/drop_caches
Categories: خط فرمان, لینوکس Tags: cache, debian, linux, mint, ram, terminal, اوبونتو, ترمینال, خط فرمان, دبیان, کش
سلام
خیلی وقت بود که مطلبی ننوشتم… مشغله زیاد نمیذاره…
و حالا!
چندین هزار سند داریم که اسکن شده و با نام صاحب سند ذخیره شدهاند!
حالا جریان از چه قراره؟ می خوایم تمامی اسناد رو به شماره پرونده شخص تغییر نام بدیم!!
راه حل اول، تغییر نام عکس ها بصورت دستی: اگر فرض کنیم ۱۰٫۰۰۰ سند داریم و پیدا کردن تصویر هر سند و تغییر نام اون بصورت دستی بیست ثانیه زمان ببره، چیزی بیش از ۵۰ ساعت کار مفید لازمه تا همه اسناد تغییر نام داده بشن…!!
حالا میریم سروقت راه حل دوم: اسکریپتی می نویسیم که این کار رو انجام بده!
اول میریم سراغ فایلی که مشخصات همه توش موجوده! دوتا ستون مربوط به نام و شماره پرونده رو انتخاب کرده و یه خروجی csv ازش میگیریم که میشه چیزی شبیه این:
۱۳ هادی
۱۴ مسعود
۱۵ امیر
۱۶ ساسان
۱۷ علیرضا
خب حالا برنامه!
دلم میخواست که با پایتون بنویسمش ولی نشد! پس بش!
تو خط ۶ بعد از متغیر name و num عبارت jpg. رو قرار دادم چون لیست تنها شامل نام میشه ولی فایل ها با فرمت jpg ذخیره شدن و بعد از تغییر نام هم باید مجددا پسوند رو داشته باشه تا عکس ها قابلیت نمایش داشته باشه…
#!/bin/bash
while read line
do
name=$(echo $line | awk '{print $1}')
num=$(echo $line | awk '{print $2}')
mv -v "$name".jpg "$num".jpg
done < namedb.csv
حالا کافیه که این کد رو توی یه فایل ذخیره کرده و بهش مجوز اجرا بدیم... و بعد هم اجرا...
حتی میشه اندازه گرفت که طی چه زمانی کار تغییر نام انجام میشه...!
chmod +x rename-script
time ./rename-script
`هادی.jpg' -> `13.jpg'
`مسعود.jpg' -> `14.jpg'
`امیر.jpg' -> `15.jpg'
`ساسان.jpg' -> `16.jpg'
`علیرضا.jpg' -> `17.jpg'
.
.
.
.
real 1m14.505s
user 0m13.294s
sys 0m25.628s
حیرت آوره! کمتر از دو دقیقه...! البته برنامه اصلی کمی با برنامه ای که نوشتم فرق داره! چون ساختار اسامی این شکلی نیست! اکثر از اسامی دو بخشی هستن و برخی ۳ بخشی...! حتی ممکنه که ۴ یا بیشتر هم بشه... فرق زیادی نداره و فقط خط ۴ کمی تغییر میکنه...
در پایان از جادی که با توجه مشغله زیادش برام وقت گذاشت و مهدی شیخ حسینی، که کمک کرد تا کارم رو انجام بدم سپاسگذارم...
موفق و لینوکسی باشید
سلام
برای پیدا کردن شناسه پردازشی (pid) یک برنامه در حال اجرا بزنید:
$ ps -ef | grep [process name]
سلام
برای تولید کلمه عبور تصادفی در خط فرمان کافیه بزنید:
$ openssl rand -base64 9
و یا :
$ cat /dev/urandom | base64 | cut -c1-9 | head -1
یادآوری میکنم که تو هر دو دستور عدد ۹، طول رمز عبوره و با تغییر اون میتونید به طول مورد نظر خودتون برسید…
سلام
اگه می خواید خیلی راحت و بدون تایپ help–، راهنمای دستور رو ببنید کافیه بعد از دستور بزنید:
$ COMMAND ctrl+o
سلام
برای دیدن مقدار اجرا شده از عملی در حال اجرا که نوار پیشرفت نداره می تونید از دستور pv استفاده کنید…
برای مثال استفاده در کپی فایل:
$ pv source.file > destination.file
ویا:
$ dd if=input.file |pv |dd of=output.file
پ.ن: نوار پیشرفت = progress bar
Categories: خط فرمان, لینوکس Tags: command line, dd, linux, progress bar, pv, terminal, ترمینال, خط فرمان, لینوکس, نوار پیشرفت
سلام
برای نمایش آخرین فایل یا مسیری که تغییر کرده بزنید:
$ ls -t1 | head -n1
سلام
برای اینکه بدونید چه کاربرانی رو کدام ورودی ها وارد شدن بزنید:
$ w
آخرین نظرات شما