Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: mały problem z kopiowaniem i przenoszeniem plików  (Przeczytany 2438 razy)

sonny

  • Gość
mały problem z kopiowaniem i przenoszeniem plików
« dnia: 2016-08-16, 22:25:06 »
Witam
mam trzy, niby proste, pytania ale jakoś nie mogę sobie poradzić, będę wdzięczny za każdą pomoc.

1) jak skopiować wszystkie pliki z katalogu A do B, które zawierają w nazwie . [kropkę] Kropka może wystąpić na początku, w środku albo na końcu nazwy.
2) jak przenieść, za jednym zamachem, z katalogu A do B wszystkie pliki ale nie ruszając podkatalogów, które znajdują się także w A.
3) jak wyświetlić nazwy zalogowanych w danym czasie użytkowników, ale tylko tych w których loginie występuje cyfra 1

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2765
  • 1709
    • Zobacz profil
Odp: mały problem z kopiowaniem i przenoszeniem plików
« Odpowiedź #1 dnia: 2016-08-17, 01:32:38 »
To są proste rzeczy, ale nie aż tak żeby mi się chciało dokladnie opisywać.


- Do 1,  2 , 3 mozna uzyc terminala,
- Wpisujesz w google " linux + nazwa_problemu "

1)
- Poradnik  https://www.youtube.com/watch?v=3Sgkpw1Q8CQ
- Jak nie masz Linuxa mozesz przetestować on-line http://www.tutorialspoint.com/unix_terminal_online.php
- http://unix.stackexchange.com/questions/6393/how-do-you-move-all-files-including-hidden-from-one-directory-to-another
- http://www.szkolenia-linux.pl/doku.php?id=materialy:podstawy-administracji:wyrazenia-regularne

2) Proponuje uzyć find i na postawie utworzonej listy przesuń pliki
( find sciezka -type coś
Znajdz czym zastąpić "coś" https://pl.wikipedia.org/wiki/Find  )
( Jeszcze tu zajrzyj http://www.cyberciti.biz/tips/howto-linux-unix-find-move-all-mp3-file.html  )

3) Pierw sobie wyswietl liste uzytkownikow np. tak (  who | cut -d' ' -f1 )   http://uazz.pl/index.php/linuks-artykuly/794-4-sposoby-aby-okreslic-kto-jest-zalogowany-w-systemie-linux
a potem użyj grep   http://www.szkolenia-linux.pl/doku.php?id=materialy:podstawy-administracji:wyrazenia-regularne


A do angielskiego masz
https://translate.google.pl/?hl=pl

PS: Ty nie masz problemu, bo nie napisałeś jak kopiujesz lub przenosisz i w czym jest problem.
A rozpisane dla twojego dobra byś się przyokazji czegoś dowiedział.
A jak bedziesz miał problem to wstarczy napisać jak to robisz że nie działa,
wtedy chociaż widać że się starałeś.
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

sonny

  • Gość
Odp: mały problem z kopiowaniem i przenoszeniem plików
« Odpowiedź #2 dnia: 2016-08-17, 22:16:36 »
Dziękuję za pomoc
nie jest tak do końca, że czekam na gotowca, żeby ktoś za mnie rozwalił problem. Nie jestem jakimś tam fachowcem w sprawach linuxa ale nie liczę na łatwiznę.
Problem starałem się rozwiązać przy pomocy literatury niestety nigdzie nie znalazłem konkretnego rozwiązania.
Zadanie muszę wykonać w właśnie terminalu.
Otóż kopiuję za pomocą "cp pliki katalog" wiem jak skopiować np. wszystkie z konkretnym rozszerzeniem, kończące lub rozpoczynające się na jakaś literę, albo np wszystkie które maja nazwy z dużej bądź malej litery itp, ale problem pojawia się jeśli w nazwie występuje kropka, która może pojawiać się na początku nazwy albo gdzieś w środku lub plik może mieć nazwę sama kropkę i tylko te pliki z kropkami muszą zostać skopiowane. Nie mogę nigdzie natrafić na jakąś wskazówkę.
Podobnie ma się sprawa z przenoszeniem. Tutaj również wiem jak przenosić itp ale co jeśli w katalogu jest mnóstwo plików różnego rodzaju z różnymi rozszerzeniami i sporo podkatalogów. No i też nie mogę natrafić na rozwiązanie jak za pomocą jednego polecenia (bo podobno się da) przenieść wszystkie pliki nie ruszając podkatalogów.
Natomiast z trzecim problemem bardzo mi pomogłeś właśnie kombinowałem z who i grep ale było to tylko połowiczne rozwiązanie jednak dopiero who + cut + grep dalo mi zadowalający efekt - jestem wdzięczny.
Może faktycznie napisałem pytania trochę nieporęcznie jakbym szukał kogoś kto odwali za mnie cała robotę ale mogę zapewnić, że tak nie jest.
Pozdrawiam i dziękuję

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2765
  • 1709
    • Zobacz profil
Odp: mały problem z kopiowaniem i przenoszeniem plików
« Odpowiedź #3 dnia: 2016-08-18, 12:23:52 »
1)  mv faktycznie robi problemy z kropką na początku
ale w linku który dałem (jakbyś miał czas przeczytać wszystko) kazdy stara się odpowiedzieć na to pytanie
http://unix.stackexchange.com/questions/6393/how-do-you-move-all-files-including-hidden-from-one-directory-to-another
i jest też przykład z find i mi działa, musisz tylko zmienic nazwy katalogów skąd gdzie.

konkretnie chodzi o
Cytuj
One way is to use find:

find Foo/ -type f -exec mv -t Bar/ {} \+

The -type f restricts the find command to finding files. You should investigate the -type, -maxdepth, and -mindepth options of find to customize your command to account for subdirectories. Find has a lengthy but very helpful manual page.  http://manpages.ubuntu.com/manpages/xenial/en/man1/find.1posix.html

2) I tu takze kłania się find
- musisz poprostu poszukac poradniki z przykładami i napewno coś wymyslisz  ;D

Cytuj
No i też nie mogę natrafić na rozwiązanie jak za pomocą jednego polecenia (bo podobno się da) przenieść wszystkie pliki nie ruszając podkatalogów.
Wpisujesz w google "linux find przyklady"
pierwszy link    http://www.linux.net.pl/~wkotwica/doc/find/find_3.html

Cytuj
2.9 Katalogi
...
Opcja: -maxdepth poziomy
    Program zejdzie nie głębiej niż poziomy (całkowita nieujemna) poziomów katalogów

No dobra ale ja pisałem o przykładach, to szukamy dalej ( pomijam to ze bylo wspomniane o tym w linku 1)  )

google  "linux find examples"
- podparlem sie angielskim, bo tutoriali po angielsku jest wiecej
No i w którymś z linków masz fajny przykład:
http://www.binarytides.com/linux-find-command-examples/

Cytuj
3. Limit depth of directory traversal
The find command by default travels down the entire directory tree recursively, which is time and resource consuming. However the depth of directory travesal can be specified. For example we don't want to go more than 2 or 3 levels down in the sub directories. This is done using the maxdepth option.

$ find ./test -maxdepth 2 -name "*.php"
./test/subdir/how.php
./test/cool.php

$ find ./test -maxdepth 1 -name *.php
./test/cool.php


3)  To jak się przydało to chociaż wyjaśnie, bo może nie wiesz czemu użyłem   who | cut -d' ' -f1

1. Wybrałem who bo zwraca mniej niż inne polecenia które były w przykładach w linku.

2. who zwraca coś takiego
$ who
tele     tty7         2016-08-18 10:28 (:0)
A ja chce sam nick , no to musze wyciąć , mogę spróbować przy pomocy awk, sed, cut lub czegoś innego ...
Ja użyłem cut ,
-d " "  --> oznacza że będzie dzielić według znaku, w cudzysłowie jest spacja, więc bedzie dzielić według spacji
-f   1  -->  pakaże tylko pierwszy ciąg czegoś odzielony spacją

$ who | cut -d ' ' -f 1
tele

PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.